/*
Theme Name:   GeneratePress Child - 新塘十五号 代码洁癖版 (V211.0)
Description:  【V211完美版】1. 彻底移除 HTML5 废弃属性，符合现代 Web 标准；2. 修正 PC 端电话链接样式，使其在电脑上看起来像普通文本，避免误导点击；3. 地图缩放回调至 18 级，防止部分区域地图加载失败。
Version:      69.0.0
Template:     generatepress
*/

/* ==========================================================================
   1. 基础重置 & 布局保护
   ========================================================================== */
:root {
    --brand-primary: #4a3f5a;       /* 新塘紫 */
    --brand-gold: #e8a86d;          /* 鎏金 */
    --text-main: #1a1a1a;
    --bg-light-gray: #f8f9fa;       /* 面包屑背景 */
    --border-color: #e9ecef;        /* 边框色 */
    --baidu-blue: #3385FF;
    --gaode-blue: #0091FF;
    --tencent-yellow: #FF9D00; 
}

html, body { margin: 0 !important; padding: 0 !important; width: 100%; overflow-x: hidden; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", sans-serif; line-height: 1.7; color: var(--text-main); background-color: #ffffff; display: flex; flex-direction: column; min-height: 100vh; }
body.admin-bar { min-height: calc(100vh - 32px); }
.site { flex: 1; width: 100%; display: flex; flex-direction: column; }
.site-content { flex: 1; width: 100%; }

/* ==========================================================================
   2. 地图专项样式 (✅ V211 规范修正)
   ========================================================================== */

.map-container {
    max-width: 1140px; 
    margin: 0 auto; 
    position: relative; 
    border-radius: 12px; 
    overflow: hidden; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); 
    border: 1px solid #eee;
    background: #fff;
}

.map-header {
    background: #fdfdfd; 
    padding: 15px 20px; 
    border-bottom: 1px solid #eee; 
    text-align: center;
}

.header-content {
    display: flex;
    flex-wrap: wrap; 
    justify-content: center;
    align-items: center;
    gap: 10px; 
}

.address-text {
    margin: 0; 
    font-size: 15px; 
    color: #333; 
    font-weight: 600;
}

/* 电话链接样式 (默认手机端样式) */
.phone-link {
    color: var(--brand-primary); 
    text-decoration: none; 
    font-weight: bold;
    font-size: 14px;
    background: rgba(74, 63, 90, 0.1);
    padding: 4px 12px;
    border-radius: 20px;
    transition: 0.3s;
    /* 强制覆盖 iOS 默认样式 */
    color: var(--brand-primary) !important;
}

.phone-link:hover {
    background: var(--brand-primary);
    color: #fff !important;
}

/* ✅ PC 端优化 (核心修正)：看起来完全不是链接 */
@media (min-width: 1025px) {
    .phone-link {
        pointer-events: none; /* 禁止点击 */
        cursor: text; /* 鼠标变回文本输入工字形 */
        background: transparent; /* 去掉紫色背景 */
        padding: 0;
        color: #333 !important; /* 变回黑色 */
        font-weight: 600;
    }
    /* 隐藏链接里的 "联系老周" 字样，只留号码？不，保留文字但去掉样式即可 */
}

.map-wrapper {
    position: relative;
    width: 100%;
    height: 400px;
}

.map-shield {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255,255,255,0.1); 
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 10;
}

.shield-tip {
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 15px 30px; 
    border-radius: 10px;
    font-size: 16px; 
    font-weight: bold;
    backdrop-filter: blur(4px);
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    transition: 0.3s;
}

.map-wrapper:hover .shield-tip {
    background: rgba(74, 63, 90, 0.9);
    transform: scale(1.05);
}

.map-body iframe {
    width: 100%; border: none; display: block; height: 100%; 
}

.map-footer {
    background: #fff; 
    padding: 20px 15px; 
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; 
    flex-wrap: wrap;
    border-top: 1px solid #eee;
}

.btn-map {
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff !important; padding: 12px 25px; border-radius: 50px; 
    text-decoration: none !important; font-size: 15px; font-weight: bold;
    transition: 0.3s; min-width: 120px; border: none; line-height: 1.4;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.btn-map:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.15); opacity: 0.95; }

.btn-baidu { background-color: var(--baidu-blue); }
.btn-gaode { background-color: var(--gaode-blue); }
.btn-tencent { background-color: var(--tencent-yellow); }

/* 📱 手机端适配 */
@media (max-width: 768px) {
    .map-wrapper { height: 250px; } 
    .header-content { flex-direction: column; gap: 5px; } 
    .address-text { font-size: 14px; }
    .phone-link { width: 100%; box-sizing: border-box; } 
    .map-footer { padding: 20px 15px; gap: 10px; }
    .btn-map { flex: 1 1 100%; margin-bottom: 5px; padding: 12px 0; font-size: 16px; }
    .map-container { border-radius: 0; margin-left: 0; margin-right: 0; border-left: none; border-right: none; }
}

/* ==========================================================================
   3. 手机端文章页防溢出 (保持不变)
   ========================================================================== */
@media (max-width: 768px) {
    body.single .site-content, body.single #content, body.single .entry-content, body.single .gb-container {
        max-width: 100vw !important; width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; 
    }
    body.single .entry-content p, body.single .entry-content h2, body.single .entry-content h3, body.single .entry-content li {
        word-wrap: break-word !important; overflow-wrap: break-word !important; word-break: break-all; 
    }
}

/* ==========================================================================
   4. 页脚 & 首页全宽修复 (保持不变)
   ========================================================================== */
.site-footer, footer { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; position: relative; z-index: 10; }
.site-footer > .gb-container, footer > .gb-container { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; border-radius: 0 !important; }
.site-footer > .gb-container > .gb-inside-container { width: 100% !important; max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; }
.site-footer p:last-child, .site-footer .gb-element:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.home.no-sidebar .site-content > *:first-child { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; max-width: 100vw; padding: 0 !important; }

/* ==========================================================================
   5. 样式美化 (保持不变)
   ========================================================================== */
#content .entry-content h2, #content .entry-content h3 { border: none !important; background: none !important; padding: 0 !important; margin-left: 0 !important; position: relative; }
#content .entry-content h2::before, #content .entry-content h2::after, #content .entry-content h3::before, #content .entry-content h3::after { display: none !important; }
.gb-button:not(.has-text-color) { color: #ffffff !important; background-color: var(--brand-primary); }
.gb-button, .wp-block-button__link { border-radius: 50px; text-decoration: none !important; transition: 0.3s; }
.gb-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); }
body.single .entry-content img, body.single .gb-container img { height: auto !important; max-width: 100%; object-fit: initial; }
@media (min-width: 1025px) {
    .main-navigation:not(.slideout-navigation) .main-nav > ul > li > a { position: relative; display: block; padding-bottom: 12px; }
    .main-navigation:not(.slideout-navigation) .main-nav > ul > li > a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background-color: var(--brand-gold); transition: width 0.3s ease; }
    .main-navigation:not(.slideout-navigation) .main-nav > ul > li:hover > a::after, .main-navigation:not(.slideout-navigation) .main-nav > ul > li.current-menu-item:not(.menu-item-home) > a::after { width: 100%; }
    .main-navigation ul ul { min-width: 160px !important; width: auto !important; white-space: nowrap; box-shadow: 0 5px 15px rgba(0,0,0,0.1); z-index: 99999 !important; }
}
.slideout-navigation .main-nav > ul > li > a::after { display: none !important; }
.breadcrumb-container { width: 100%; max-width: 1140px !important; margin: 10px auto 30px auto !important; background-color: var(--bg-light-gray); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 25px; box-sizing: border-box; font-size: 14px; }
nav.rank-math-breadcrumb, .rank-math-breadcrumb ol { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex !important; align-items: center !important; flex-wrap: wrap !important; }
.rank-math-breadcrumb li { display: inline-flex !important; align-items: center !important; color: #666; white-space: nowrap; }
.rank-math-breadcrumb a { color: #666; text-decoration: none !important; }
.rank-math-breadcrumb a:hover { color: var(--brand-primary); text-decoration: underline !important; }
.rank-math-breadcrumb .last { color: #333; font-weight: 600; }
.rank-math-breadcrumb li:not(:last-child)::after { content: '›'; margin: 0 10px; color: #ccc; font-size: 16px; line-height: 1; }
@media (max-width: 1180px) { .breadcrumb-container { width: auto !important; margin: 10px 0 20px 0 !important; padding: 10px 15px; white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; display: block; } }
blockquote { border-left: 4px solid var(--brand-gold); background: #f9f9f9; padding: 20px 30px; margin: 30px 0; font-style: italic; border-radius: 0 8px 8px 0; }
@media print { header, footer, .sidebar, .gb-button, .breadcrumb-container { display: none !important; } }