/*
 * WP Family Tree - Core & Form Styles
 */

/* --- WP Family Tree: Form Styles --- */
.wpft-form-container { margin-bottom: 20px; padding: 15px; border: 1px solid #e0e0e0; background-color: #fdfdfd; border-radius: 4px; }
.wpft-required-fields-group { background-color: #e6f7ff; padding: 15px; border: 1px solid #b3e0ff; margin-bottom: 20px; border-radius: 4px; }
.wpft-form-group { margin-bottom: 12px; }
.wpft-form-group label { display: block; margin-bottom: 6px; font-weight: bold; font-size: 0.9em; color: #555; }
.wpft-form-group input[type="text"],
.wpft-form-group input[type="date"],
.wpft-form-group input[type="search"],
.wpft-form-group select,
.wpft-form-group textarea { width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 3px; box-sizing: border-box; font-size: 0.95em; background-color: #fff; box-shadow: inset 0 1px 2px rgba(0,0,0,.07); line-height: normal; }
.wpft-form-group input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; }
.wpft-form-group textarea { min-height: 80px; }
.select2-container--default .select2-selection--single{ min-height: 36px; border: 1px solid #ccc; border-radius: 3px; display: flex; align-items: center; background-color: #fff; box-shadow: inset 0 1px 2px rgba(0,0,0,.07); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 10px; padding-right: 30px; line-height: normal; color: #555; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 34px; top: 1px; right: 5px; }
.wpft-form-group select.wpft-select2 { width: 100% !important; padding: 0; border: 0; height: auto; box-shadow: none; }
.select2-container .select2-search--inline .select2-search__field { padding: 0 10px; min-height: 34px; }
.select2-dropdown { border: 1px solid #ccc; border-radius: 3px; box-shadow: 0 2px 5px rgba(0,0,0,.15); }
.wpft-form-group input[type="radio"], .wpft-form-group input[type="checkbox"] { margin-right: 5px; vertical-align: middle; margin-top: -2px; }
.wpft-form-group label input[type="radio"] + span, .wpft-form-group label input[type="checkbox"] + span { vertical-align: middle; margin-left: 3px; }
.wpft-form-group label input[type="radio"], .wpft-form-group label input[type="checkbox"] { margin-right: 8px;width: auto;}
.wpft-spouse-group > label { font-size: 1.1em; color: #333; border-bottom: 1px solid #eee; padding-bottom: 5px; margin-bottom: 15px; display: block; }
.wpft-spouse-inputs { margin-left: 0; margin-bottom: 10px; padding-left: 0; }
.wpft-spouse-input { margin-bottom: 20px; padding: 15px 15px 20px 15px; border: 1px solid #e9e9e9; border-radius: 3px; background-color: #fcfcfc; position: relative; clear: both; }
.wpft-spouse-input:last-child { margin-bottom: 10px; }
.wpft-spouse-input .wpft-form-group { margin-bottom: 10px; }
.wpft-spouse-input .wpft-form-group label { display: inline-block; width: 90px; vertical-align: top; padding-top: 9px; font-size: 0.85em; color: #666; font-weight: normal; margin-right: 10px; }
.wpft-spouse-input .wpft-form-group input, .wpft-spouse-input .wpft-form-group select, .wpft-spouse-input .wpft-form-group textarea { display: inline-block; width: calc(100% - 110px); box-sizing: border-box; margin-bottom: 0; }
.wpft-spouse-input .wpft-form-group textarea { min-height: 60px; }
.wpft-spouse-input .wpft-form-group input[type="file"] { width: auto; }
.wpft-add-spouse { margin-left: 10px; vertical-align: middle; font-size: 18px; background-color: #5cb85c; }
.wpft-remove-spouse { background-color: #d9534f; color: white; border: 1px solid #d43f3a; padding: 3px 8px; border-radius: 3px; cursor: pointer; font-size: 0.8em; line-height: 1; text-decoration: none; position: absolute; top: 10px; right: 10px; transition: background-color 0.2s ease; }
.wpft-remove-spouse:hover { background-color: #c9302c; border-color: #ac2925; }
.wpft-message, .wpft-success { color: #3c763d; background-color: #dff0d8; border: 1px solid #d6e9c6; padding: 15px; margin-bottom: 20px; border-radius: 3px; }
.wpft-error { color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; padding: 15px; margin-bottom: 20px; border-radius: 3px; }
.wpft-spouse-input--newly-added { background-color: #e9f7ef; border-color: #c3e6cb; }

/* --- Form Dynamic Fields --- */
.wpft-death-date-group, .wpft-in-zongci-group,
.wpft-spouse-death-date-group, .wpft-spouse-in-zongci-group {
    display: none;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
}

/* --- Basic Button Styles --- */
input[type="submit"].button, button[type="submit"].button, .button { padding: 8px 15px; font-size: 0.95em; cursor: pointer; }
.button.button-xsmall { padding: 3px 8px; font-size: 0.8em; line-height: 1.2; }

/* --- Utility Classes --- */
.wpft-hidden { display: none !important; }
/* --- Global Floating Actions (for Homepage Login/User Button) --- */
.wpft-global-floating-actions {
    position: fixed;
    top: 50%; /* 与宗祠外景按钮区域对齐 */
    right: 15px; /* 与宗祠外景按钮区域对齐 */
    transform: translateY(-50%);
    z-index: 10004; /* 比宗祠/纪念堂内容高，但可能低于弹窗 */
    display: flex;
    flex-direction: column;
    gap: 10px; /* 按钮之间的间距 */
}

/* 如果 wpft-floating-action-button 样式已在 style-scenes.css 中定义，则无需重复 */
/* 以下是确保其存在的最小样式，如果未定义 */
.wpft-floating-action-button {
    background-color: #fff;
    color: #555;
    border: 1px solid #ccc;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    font-size: 0.7em; /* 调整文字大小以适应按钮 */
    line-height: 1.2;
    text-align: center; /* 确保文字居中 */
}
.wpft-floating-action-button:hover {
    background-color: #f0f0f0;
    color: #333;
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}
.wpft-floating-action-button .wpft-fab-icon {
    font-size: 1.4em; /* 图标大小 */
    margin-bottom: 2px;
    display: flex; /* 用于头像居中 */
    align-items: center;
    justify-content: center;
    width: 100%; /* 确保头像容器占满图标区域 */
    height: 60%; /* 调整图标/头像区域高度 */
}
.wpft-floating-action-button .wpft-fab-icon i {
    vertical-align: middle;
}
.wpft-floating-action-button .wpft-fab-icon img { /* 用户头像样式 */
    width: 28px; /* 头像大小 */
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}
.wpft-floating-action-button .wpft-fab-text {
    display: block; /* 确保文字换行 */
    font-size: 0.9em; /* 调整文字大小 */
    line-height: 1;
    margin-top: 1px;
}

/* 响应式调整 (与 style-scenes.css 中的保持一致) */
@media screen and (max-width: 768px) {
    .wpft-global-floating-actions {
        right: 10px;
    }
    .wpft-floating-action-button {
        width: 45px;
        height: 45px;
    }
    .wpft-floating-action-button .wpft-fab-icon {
        font-size: 1.2em;
    }
     .wpft-floating-action-button .wpft-fab-icon img {
        width: 24px;
        height: 24px;
    }
    .wpft-floating-action-button .wpft-fab-text {
        font-size: 0.85em;
    }
}

@media screen and (max-width: 480px) {
    .wpft-floating-action-button {
        width: 40px;
        height: 40px;
    }
    .wpft-floating-action-button .wpft-fab-icon {
        font-size: 1.1em;
    }
    .wpft-floating-action-button .wpft-fab-icon img {
        width: 20px;
        height: 20px;
    }
    .wpft-floating-action-button .wpft-fab-text {
        font-size: 0.75em;
    }
}