/* * Estilos para la Página de Reseña Individual
 * Archivo: assets/css/resena-cuidador-frontend.css
 * Actualizado: Sombra negra SÓLIDA y EXTENDIDA (Spread radius añadido).
 */

/* --- Contenedor Principal Centrado --- */
.ph-resena-individual-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 40px;
    background-color: #fff;
    border-radius: 20px;
    
    /* SOMBRA EXTREMA: 
       0px X, 20px Y, 60px Difuminado, 15px Expansión Sólida, Negro Puro 
    */
    box-shadow: 0 5px 20px 5px rgba(0, 0, 0, 0.5) !important; 
    
    font-size: 16px !important;
    font-family: 'Montserrat', sans-serif, inherit;
    line-height: 1.6;
    color: #333;
}

/* --- Header del Perfil (Avatar y Nombre) --- */
.ph-profile-header {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 0px !important;
    border-bottom: 1px solid #eee;
    padding-bottom: 0px !important;
}

.ph-profile-avatar {
    margin-top: 20px !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
}

/* AUMENTO DE TAMAÑO: Nombre de Usuario */
.ph-resena-individual-container .ph-profile-info h1 {
    font-size: 2.8rem !important; /* Antes 2.2rem */
    font-weight: 800;
    color: #333;
    margin: 0 0 10px 0;
    line-height: 1;
}

/* AUMENTO DE TAMAÑO: Ubicación */
.ph-resena-individual-container .ph-profile-location {
    font-size: 1.9rem !important; /* Antes 1.1rem */
    color: #777;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ph-profile-location i {
    color: #C86A38 !important;
}

/* --- Formulario --- */
.ph-form-section h2 {
    font-size: 1.8rem !important;
    font-weight: 700;
    color: #444;
    margin-bottom: 25px;
    border-bottom: 2px solid #444;
    display: inline-block;
    padding-bottom: 5px;
}

.ph-form-row {
    margin-bottom: 25px;
}

.ph-form-label {
    display: block;
    font-weight: 700;
    margin-bottom: 10px;
    color: #555;
    font-size: 16px !important;
    line-height: 1.4;
}

/* Inputs estilo "PetHome" */
.ph-input-field,
.ph-textarea-field {
    width: 100%;
    background-color: #ffffff !important;
    border: 2px solid #555 !important; 
    border-radius: 8px;
    padding: 15px;
    font-size: 16px !important;
    font-family: inherit;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) !important;
}

.ph-input-field:focus,
.ph-textarea-field:focus {
    background-color: #fff !important;
    border-color: #C86A38 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(200, 106, 56, 0.2);
}

.ph-textarea-field {
    resize: vertical;
    min-height: 120px;
}

/* --- Estrellas Interactivas (Formulario) --- */
.ph-rating-wrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end !important; 
    gap: 5px;
    margin-top: 10px;
    width: 100% !important;
}

.ph-rating-wrapper input {
    display: none;
}

/* Eliminar círculos del tema OnLeash */
.ph-rating-wrapper label::before,
.ph-rating-wrapper label::after,
.ph-rating-wrapper input[type="radio"] + label::before,
.ph-rating-wrapper input[type="radio"] + label::after {
    content: none !important;
    display: none !important;
}

.ph-rating-wrapper label {
    font-size: 2rem !important;
    cursor: pointer;
    transition: color 0.2s;
    padding-left: 0 !important; 
    margin-right: 5px !important;
}

/* ESTILO DE ESTRELLA VACÍA */
.ph-rating-wrapper label i {
    color: transparent !important; 
    font-style: normal;
    -webkit-text-stroke: 1.5px #555 !important; 
    text-shadow: none !important; 
}

/* ESTILO DE ESTRELLA SELECCIONADA O HOVER */
.ph-rating-wrapper input:checked ~ label i,
.ph-rating-wrapper label:hover i,
.ph-rating-wrapper label:hover ~ label i {
    color: #C86A38 !important; 
    font-weight: 900;
    font-family: "Font Awesome 6 Pro";
    -webkit-text-stroke: 0px !important; 
}

/* --- Botón de Enviar --- */
.ph-btn-submit {
    background-color: #fac564;
    color: #fff;
    font-size: 1.1rem !important;
    font-weight: 800;
    text-transform: uppercase;
    padding: 15px 40px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    display: inline-block;
    margin-top: 20px;
    font-family: inherit;
}

.ph-btn-submit:hover {
    background-color: #f9b233;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(249, 178, 51, 0.4);
}

/* --- Mensajes y Seguridad --- */
.ph-security-box {
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid #C86A38;
    margin-bottom: 20px;
    font-size: 16px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
}

.ph-message-success {
    background-color: #d4edda;
    color: #155724;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid #c3e6cb;
    font-size: 16px !important;
}

.ph-message-error {
    background-color: #f8d7da;
    color: #721c24;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
    font-size: 16px !important;
}

/* --- Listado de Reseñas Existentes --- */
.ph-reviews-list {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee;
}

/* NUEVO: Eliminar margen superior del título impuesto por el tema */
.ph-reviews-list h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ph-existing-review {
    background: #fff;
    border: 1px solid #f0f0f0;
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
}

.ph-review-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ph-review-author {
    font-weight: 700;
    color: #333;
    font-size: 1.1rem !important;
}

.ph-review-stars i {
    color: #C86A38 !important;
    font-size: 0.9rem !important;
}

.ph-review-body {
    color: #555;
    line-height: 1.6;
    font-style: italic;
    font-size: 16px !important;
}

/* --- Responsividad y FIXES DEL TEMA --- */
@media (max-width: 768px) {
    .ph-profile-header {
        flex-direction: column;
        text-align: center;
    }
    
    /* FIX AGRESIVO: Resetear contenedores padres del tema */
    body .page_content_wrap,
    body .content_wrap,
    body .content,
    body .post_content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Ajustar nuestro contenedor con el margen de 15px deseado */
    .ph-resena-individual-container {
        padding: 20px; 
        margin: 20px 15px !important; 
        width: auto !important; 
        box-sizing: border-box !important;
        border-radius: 15px;
    }
}

/* --- Utility Classes from Refactoring --- */
.ph-text-center {
    text-align: center;
}

.ph-form-label-margin {
    margin-bottom: 5px !important; /* Overwrite existing label margin */
}

.ph-input-spam-check {
    width: 100px !important; /* Specific width for spam check input */
}

.ph-no-reviews-text {
    color: #888;
    font-style: italic;
}