/*
Theme Name: Snnugle Child Theme
Theme URI: https://yourdomain.com/
Description: Custom styles for Snnugle Child Theme, based on Astra.
Author: Gemini & Snnugle Team
Author URI: https://yourdomain.com/
Template: astra
Version: 1.0.0
*/

/* 引入父主题样式 */
@import url("../astra/style.css");

/* ==================== 0. 颜色变量定义 ==================== */
:root {
    --grapefruit: #FF6B8B;
    --grapefruit-light: #FFE4E8;
    --grapefruit-dark: #D94A6A;
    --white: #FFFFFF;
    --light-gray: #F8F9FA;
    --text-dark: #333333;
    --text-light: #666666;
    --accent: #D94A6A; /* 用于深色调和悬停 */
}

/* ==================== 1. 通用短代码样式 (Schema Boxes) ==================== */

.snny-highlight-block {
    padding: 20px;
    margin: 25px 0;
    border-radius: 10px;
    font-size: 1.1em;
    line-height: 1.5;
}

.snny-block-header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.snny-block-icon {
    font-size: 1.2em;
    margin-right: 10px;
}

/* Snny Voice Box [snny_tips] */
.snny-voice-box {
    border-left: 4px solid var(--grapefruit);
    padding-left: 20px;
    margin: 20px 0;
    font-style: italic;
    color: var(--text-dark);
    background-color: var(--grapefruit-light);
    padding: 15px 15px 15px 20px;
    border-radius: 0 10px 10px 0;
    font-weight: 500;
}
.snny-voice-box strong {
    font-weight: 700;
    color: var(--grapefruit-dark);
    font-style: normal;
}

/* Quote Block [snny_quote] */
.snny-block-quote {
    background-color: var(--light-gray);
    border-left: 4px solid var(--text-light);
    color: var(--text-dark);
}
.snny-block-quote .snny-block-icon { color: var(--text-dark); }
.snny-block-quote .snny-block-title { color: var(--text-dark); font-weight: 600; }

/* Tip Block [snny_tip] */
.snny-block-tip {
    background-color: #E8FFEC; /* Light Green for Tips */
    border-left: 4px solid #4CAF50; /* Green */
    color: #388E3C;
}
.snny-block-tip .snny-block-icon { color: #4CAF50; }
.snny-block-tip .snny-block-title { color: #4CAF50; font-weight: 600; }

/* Warning Block [snny_warn] */
.snny-block-warn {
    background-color: #FFF3E0; /* Light Yellow/Orange */
    border-left: 4px solid #FFA726; /* Orange */
    color: #F57C00;
}
.snny-block-warn .snny-block-icon { color: #FFA726; }
.snny-block-warn .snny-block-title { color: #F57C00; font-weight: 600; }

/* ==================== 2. 自定义表单样式 (Contact Form Fix) ==================== */

.snny-contact-wrapper {
    max-width: 100%;
    margin: 0 auto;
}

.snny-form .form-group {
    margin-bottom: 20px;
}

.snny-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-dark);
}

/* 输入框和文本域样式 - 使用 !important 提高优先级，解决蓝色按钮问题 */
.snny-form input[type="text"],
.snny-form input[type="email"],
.snny-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #EEE !important; 
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #FAFAFA !important;
}

/* 表单聚焦时的西柚色效果 */
.snny-form input:focus,
.snny-form textarea:focus {
    border-color: var(--grapefruit) !important;
    background: #FFF !important;
    outline: none;
    box-shadow: 0 0 10px rgba(255, 107, 139, 0.1);
}

/* 提交按钮样式 */
.snny-contact-wrapper .btn-snnugle-submit {
    background-color: var(--grapefruit) !important; 
    color: white !important;
    padding: 15px 40px;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s;
}

.snny-contact-wrapper .btn-snnugle-submit:hover {
    background-color: var(--grapefruit-dark) !important; 
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 107, 139, 0.3);
}

/* 成功与错误提示消息 */
.snny-alert {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-weight: 500;
    text-align: center;
}
.snny-alert.success {
    background-color: #E8F5E9;
    color: #2E7D32;
    border: 1px solid #C8E6C9;
}
.snny-alert.error {
    background-color: #FFEBEE;
    color: #C62828;
    border: 1px solid #FFCDD2;
}