/* Speak English - Modern, Clean & High-Performance Stylesheet */
#login_wrap.speakenglish_login {
    width:100%; height:auto; min-height:100%; margin:0; padding:0;
    font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    color:#334155;
    background:#f8fafc;
    line-height:1.6;
}
.speakenglish_login #intro_top {
    display:table; table-layout:fixed; width:100%; height:auto; min-height:85vh;
    z-index:1; position:relative; margin:0; padding:40px 0;
    background:#1e293b url('/control/login/speakenglish/images/background.jpg') no-repeat fixed center center / cover;
}
.speakenglish_login #login_all { 
    width:780px; max-width:92%; border-radius:24px; display:block; margin:0 auto; padding:35px 30px; 
    color:#fff; background:rgba(15, 23, 42, 0.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    box-shadow:0 20px 40px rgba(0,0,0,0.35); border:1px solid rgba(255,255,255,0.12);
}
.speakenglish_login #login_logo { height:75px; width:auto; max-width:100%; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3)); }
.speakenglish_login #intro_lang { position:absolute; top:15px; right:20px; width:40px; height:40px; cursor:pointer; }
.speakenglish_login .intro_lang { width:28px; height:auto; display:block; margin:0 auto; border-radius:4px; box-shadow:0 2px 5px rgba(0,0,0,0.3); }
.speakenglish_login .login_text { padding:18px 0 10px; }
.speakenglish_login .text_xlarge { font-size:26px; line-height:1.3; font-weight:800; color:#ffffff; }
.speakenglish_login .text_med { font-size:16px; color:#cbd5e1; line-height:1.5; margin-top:8px; }
.speakenglish_login .text_xsmall { font-size:13px; color:#94a3b8; }
.speakenglish_login .large_button_rounded { 
    padding:13px 28px; border-radius:30px; font-size:16px; font-weight:700; min-width:210px; margin:6px; 
    color:#fff; border:none; cursor:pointer; transition:all 0.25s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.speakenglish_login .ok_btn { background:linear-gradient(135deg, #10b981, #059669); }
.speakenglish_login .ok_btn:hover { background:linear-gradient(135deg, #059669, #047857); transform:translateY(-2px); box-shadow:0 6px 16px rgba(16,185,129,0.35); }
.speakenglish_login .default_btn { background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.25); }
.speakenglish_login .default_btn:hover { background:rgba(255,255,255,0.25); transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,0.2); }
.speakenglish_login .btnshadow { box-shadow:0 3px 10px rgba(0,0,0,0.2); }

/* Landing Content Sections (On-Page SEO) */
.speakenglish_login .section { width:100%; height:auto; margin:0 auto; background:#ffffff; }
.speakenglish_login .section_content { width:100%; max-width:1160px; margin:0 auto; padding:50px 20px; box-sizing:border-box; }
.speakenglish_content_section { margin-bottom:50px; }
.speakenglish_content_section h2 { font-size:28px; font-weight:800; color:#0f172a; margin:0 0 15px; line-height:1.3; }
.speakenglish_content_section h3 { font-size:21px; font-weight:700; color:#1e293b; margin:22px 0 8px; line-height:1.4; }
.speakenglish_content_section h4 { font-size:15px; font-weight:700; color:#0284c7; margin:6px 0; text-transform:uppercase; letter-spacing:0.5px; }
.speakenglish_content_section h5 { font-size:14px; font-weight:700; color:#475569; margin:4px 0; }
.speakenglish_content_section p { font-size:16px; color:#475569; line-height:1.75; margin:0 0 14px; }
.speakenglish_content_section ul { margin:0 0 20px; padding-left:22px; }
.speakenglish_content_section li { font-size:15px; color:#475569; line-height:1.7; margin-bottom:8px; }

/* Grid of Thematic Chat Rooms */
.speakenglish_rooms_grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:22px; margin:25px 0 35px; }
.speakenglish_room_card { 
    background:#ffffff; border:1px solid #e2e8f0; border-radius:16px; padding:24px; 
    box-shadow:0 4px 12px rgba(0,0,0,0.03); transition:all 0.25s ease; display:flex; flex-direction:column;
}
.speakenglish_room_card:hover { transform:translateY(-4px); box-shadow:0 12px 24px rgba(0,0,0,0.08); border-color:#cbd5e1; }
.speakenglish_room_badge { display:inline-block; align-self:flex-start; font-size:12px; font-weight:800; padding:4px 10px; border-radius:12px; background:#eff6ff; color:#2563eb; margin-bottom:12px; }
.speakenglish_room_card h3 { margin:0 0 8px; font-size:20px; color:#0f172a; }
.speakenglish_room_card p { font-size:14px; color:#64748b; line-height:1.6; margin:0 0 12px; flex:1; }

/* Feature Highlights */
.speakenglish_feature_grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; margin:25px 0; }
.speakenglish_feature_card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; padding:20px; text-align:center; }
.speakenglish_feature_icon { font-size:32px; color:#10b981; margin-bottom:12px; display:inline-block; }
.speakenglish_feature_card h3 { font-size:18px; margin:0 0 8px; color:#0f172a; }
.speakenglish_feature_card p { font-size:14px; color:#64748b; margin:0; line-height:1.6; }

/* Fluency Tips */
.speakenglish_tips_list { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:18px; margin:20px 0; }
.speakenglish_tip_box { background:#f1f5f9; border-left:4px solid #10b981; padding:18px; border-radius:0 12px 12px 0; }
.speakenglish_tip_box h3 { margin:0 0 6px; font-size:17px; color:#0f172a; }
.speakenglish_tip_box p { margin:0; font-size:14px; color:#475569; }

/* FAQ Accordion List */
.speakenglish_faq_list { margin:25px 0; display:flex; flex-direction:column; gap:14px; }
.speakenglish_faq_item { border:1px solid #e2e8f0; border-radius:12px; background:#ffffff; overflow:hidden; }
.speakenglish_faq_q { 
    padding:16px 20px; font-size:17px; font-weight:700; color:#0f172a; cursor:pointer; 
    display:flex; justify-content:space-between; align-items:center; background:#f8fafc; transition:background 0.2s ease;
}
.speakenglish_faq_q:hover { background:#f1f5f9; }
.speakenglish_faq_a { padding:18px 20px; font-size:15px; color:#475569; line-height:1.7; border-top:1px solid #e2e8f0; }

/* AdSense Compliant Placeholder Container */
.speakenglish_ad_container { 
    margin:35px auto; padding:14px; text-align:center; background:#f8fafc; 
    border:1px dashed #cbd5e1; border-radius:12px; max-width:760px;
}
.speakenglish_ad_label { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#94a3b8; font-weight:700; margin-bottom:8px; display:block; }
.speakenglish_ad_slot { min-height:90px; display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:13px; }

/* Public Pages Header & Breadcrumb */
.speakenglish_public_page { min-height:100vh; background:#f8fafc; }
.speakenglish_public_header { 
    display:flex; align-items:center; justify-content:space-between; padding:12px 24px; 
    background:#0f172a; color:#fff; box-shadow:0 2px 8px rgba(0,0,0,0.15); flex-wrap:wrap; gap:12px;
}
.speakenglish_header_brand img { display:block; height:50px; width:auto; }
.speakenglish_header_nav { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.speakenglish_header_nav .nav_link { 
    color:#cbd5e1; text-decoration:none; font-size:14px; font-weight:600; padding:6px 12px; border-radius:6px; transition:all 0.2s ease; 
}
.speakenglish_header_nav .nav_link:hover, .speakenglish_header_nav .nav_link.active { color:#ffffff; background:rgba(255,255,255,0.1); }
.speakenglish_breadcrumb_bar { background:#ffffff; border-bottom:1px solid #e2e8f0; padding:10px 24px; }
.speakenglish_breadcrumb_inner { max-width:1000px; margin:0 auto; }
.speakenglish_breadcrumbs { font-size:13px; color:#64748b; }
.speakenglish_breadcrumbs a { color:#0284c7; text-decoration:none; font-weight:600; }
.speakenglish_breadcrumbs a:hover { text-decoration:underline; }
.speakenglish_breadcrumbs .sep { margin:0 8px; color:#cbd5e1; }
.speakenglish_breadcrumbs .current { color:#334155; font-weight:600; }

.speakenglish_public_content { 
    max-width:1000px; margin:30px auto; padding:35px; background:#ffffff; 
    border:1px solid #e2e8f0; border-radius:16px; box-shadow:0 4px 16px rgba(0,0,0,0.03); color:#334155; line-height:1.75; text-align:left; 
}
.speakenglish_public_content h1 { font-size:28px; font-weight:800; color:#0f172a; margin:0 0 20px; line-height:1.3; }
.speakenglish_public_content h2 { font-size:22px; font-weight:700; color:#1e293b; margin:28px 0 10px; border-bottom:1px solid #f1f5f9; padding-bottom:8px; }
.speakenglish_public_content h3 { font-size:18px; font-weight:700; color:#334155; margin:18px 0 8px; }
.speakenglish_public_content ul { list-style:disc; padding-left:24px; margin-bottom:20px; }
.speakenglish_lead { font-size:17px; color:#475569; line-height:1.7; margin-bottom:24px; }

/* Contact Page Form */
.speakenglish_contact_grid { display:grid; grid-template-columns:1fr 1.3fr; gap:35px; margin-top:25px; }
.speakenglish_info_card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:16px; margin-bottom:16px; }
.speakenglish_info_card h3 { font-size:16px; margin:0 0 6px; color:#0f172a; display:flex; align-items:center; gap:8px; }
.speakenglish_info_card p { font-size:14px; margin:0; color:#64748b; line-height:1.5; }
.speakenglish_email_link { color:#0284c7; text-decoration:none; font-weight:700; }
.speakenglish_email_link:hover { text-decoration:underline; }
.se_form_group { margin-bottom:18px; }
.se_form_group label { display:block; font-size:14px; font-weight:700; color:#1e293b; margin-bottom:6px; }
.se_form_group .req { color:#ef4444; }
.se_input, .se_select, .se_textarea { 
    width:100%; padding:11px 14px; font-size:15px; border:1px solid #cbd5e1; border-radius:8px; 
    background:#ffffff; color:#0f172a; box-sizing:border-box; font-family:inherit; transition:border-color 0.2s ease;
}
.se_input:focus, .se_select:focus, .se_textarea:focus { outline:none; border-color:#0284c7; box-shadow:0 0 0 3px rgba(2,132,199,0.15); }
.se_help { font-size:12px; color:#94a3b8; margin-top:4px; display:block; }
.se_alert { padding:18px; border-radius:12px; text-align:center; }
.se_alert_success { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }

/* Footer */
.speakenglish_login #main_footer { background:#0f172a; color:#94a3b8; padding:35px 20px; text-align:center; }
.speakenglish_footer_links ul { list-style:none; padding:0; margin:0 0 12px; }
.speakenglish_footer_links li { display:inline-block; margin:6px 12px; font-size:14px; }
.speakenglish_footer_links li a { color:#cbd5e1; text-decoration:none; transition:color 0.2s ease; }
.speakenglish_footer_links li a:hover { color:#ffffff; }
.speakenglish_footer_tagline { font-size:13px; color:#64748b; }
.speakenglish_login .theme_color { color:#10b981; font-weight:700; }

/* Cookie Notice Banner */
.speakenglish_cookie_banner {
    position:fixed; bottom:0; left:0; right:0; z-index:9999;
    background:#0f172a; color:#f8fafc; padding:16px 24px; box-shadow:0 -4px 16px rgba(0,0,0,0.25);
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:14px;
}
.speakenglish_cookie_banner a { color:#38bdf8; text-decoration:underline; }
.speakenglish_cookie_btn {
    background:#10b981; color:#fff; border:none; padding:8px 20px; border-radius:20px;
    font-size:13px; font-weight:700; cursor:pointer; transition:background 0.2s ease;
}
.speakenglish_cookie_btn:hover { background:#059669; }

@media screen and (max-width:768px){
    .speakenglish_login #intro_top { padding:20px 0; min-height:auto; }
    .speakenglish_login #login_all { padding:25px 18px; width:94%; }
    .speakenglish_content_section h2 { font-size:23px; }
    .speakenglish_rooms_grid { grid-template-columns:1fr; }
    .speakenglish_contact_grid { grid-template-columns:1fr; gap:20px; }
    .speakenglish_public_content { margin:15px; padding:20px; }
    .speakenglish_header_nav { gap:8px; }
    .speakenglish_header_nav .nav_link { font-size:12px; padding:4px 8px; }
}
