* {
    margin: 0;
    padding: 0;
    /* outline:为了调试，添加的边框 */
    /* outline: 1px solid red; */
}

body {
    display: flex;
    /* 弹性布局 */
    flex-direction: column;
    /* 主轴为垂直方向 */
    justify-content: center;
    /* 垂直居中 */
    align-items: center;
    /* 水平居中 */
    width: 100%;
    font-family: "微软雅黑";
    font-size: 14px;
}

/*公共样式*/
.w {
    width: 1300px;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    /*去掉下划线*/
    color: inherit;
    /* 去除字体颜色 */
}

/* <!-- 版心1200px ，最大宽度1400px -->
<!-- 常用字体颜色 ：#323232 ， #646464 ， #999999 -->
<!-- 设计尺寸规范
网页宽度：1920px
首屏高度：700-750px
主体内容区域：1200px

字体规范
常用中文字体：宋体、微软雅黑、苹方
常用英文字体：Arial、sans

中文字符常用尺寸：
导航文字14px、16px、18px、20px；
本文内容12px，14px；
标题22px、24px、26px、28px、30px；
辅助信息12px，14px。

英文字符常用尺寸：
标题10-16px；
本文内容10-16px；
底部信息最小10px。 --> */

/* 导航栏样式 */
.nav {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /*vw表示视窗宽度*/

    height: 410px;
    background: linear-gradient(to right, #acecea, #f3d9e4);
}


/* 导航栏标题样式 */
.nav-title {
    width: 1300px;
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    /* 固定定位 */
    top: 0;
    left: 50%;
    z-index: 999;
    transform: translateX(-50%);
    /* 居中 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.hidden {
    top: -60px;
    /* 隐藏导航栏 */
}

.nav-left {
    width: 100px;
    height: 75px;
    /* background-color: #fff; */
}

.nav-left img {
    width: 100%;
    height: 100%;
}

.nav-user {
    margin-right: 20px;
}

.nav-user::before {
    content: "";
    display: block;
    background: url(../img/user.svg) no-repeat center center;
    margin: 5px auto 5px;
    width: 20px;
    height: 20px;
}

.nav-right {
    height: 60px;
    /* 整体向右移动 */
    margin-left: 510px;
    /* background-color: #fff; */
}

.nav-right ul {
    /* 所有li在一行显示 */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-right ul li {
    margin: 20px 15px 20px 20px;
    /*四个5px代表上下左右的间距*/
}

.nav-right ul li a {
    font-size: 16px;
}

.nav-right ul li a:hover {
    color: #323232;
}

/* tips提示样式 */
.tip {
    position: absolute;
    top: 65px;
    right: 120px;
    width: 500px;
    height: 20px;
    /* background-color: #fff; */
}

/* 简介区域样式 */
.content-intro {
    width: 100%;
    height: 88px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f3f3f3;
}

.content-intro ul {
    box-sizing: border-box;
    width: 100%;
    height: 88px;
    text-align: center;
    /* margin-top: 20px; */
    font-size: 14px;
    color: #323232;
}

.content-intro ul p {
    text-align: left;

    margin: 10px 50px 0px 0px;
    /*依次为上右下左的外边距*/
    font-size: 12px;
}

/* 页脚样式 */
.footer {
    width: 100%;
    background: linear-gradient(to right, #acecea, #f3d9e4);
    color: #1f2937;
    font-family: Inter, -apple-system, sans-serif;
}

/* 内边距 */
.footer-container {
    padding: 50px 80px;
}

/* ===== 顶部 ===== */
.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 20px;
    font-weight: 600;
    color: #111827;
}

/* 按钮（重新设计） */
.btn {
    background: linear-gradient(135deg, #4f46e5, #3b82f6);
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.3);
}

/* 分割线 */
.divider {
    height: 1px;
    background: rgba(0, 0, 0, 0.08);
    margin: 30px 0;
}

/* ===== 主体 ===== */
.footer-main {
    display: flex;
    justify-content: space-between;
}

/* 左列 */
.footer-columns {
    display: flex;
    gap: 80px;
}

.col h4 {
    font-size: 15px;
    color: #111827;
    margin-bottom: 14px;
}

.col a {
    display: block;
    color: #4b5563;
    text-decoration: none;
    margin: 6px 0;
    font-size: 14px;
    transition: color 0.2s ease;
}

.col a:hover {
    color: #111827;
}

/* 社交图标（卡片感） */
.icons {
    display: flex;
    gap: 10px;
}

.icons span {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 8px;
    border-radius: 8px;
    font-size: 12px;
    backdrop-filter: blur(6px);
}

/* ===== Newsletter ===== */
.newsletter {
    max-width: 360px;
}

.newsletter h4 {
    color: #111827;
    margin-bottom: 10px;
}

.newsletter p {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 16px;
}

/* 输入框（重点优化） */
.input-box {
    display: flex;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.input-box input {
    flex: 1;
    padding: 12px;
    border: none;
    outline: none;
    font-size: 14px;
}

/* 订阅按钮 */
.input-box button {
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: #fff;
    border: none;
    padding: 0 18px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.input-box button:hover {
    opacity: 0.9;
}

/* ===== 底部 ===== */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #6b7280;
}

.footer-bottom .links a {
    margin-left: 20px;
    color: #6b7280;
    text-decoration: none;
}

.footer-bottom .links a:hover {
    color: #111827;
}


/* 其它组件样式--------------------------------------------------------------------------- */
/* 悬浮操作按钮样式 */

/* 悬浮按钮容器 */
.fab-container {
    position: fixed;
    bottom: 50px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
}

/* 子按钮通用样式 */
.fab-item {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    opacity: 0;
    transform: translateY(40px) scale(0.8);
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    z-index: 100;
}

/* 展开状态：子按钮显示 */
.fab-container.open .fab-item {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* 子按钮不同颜色 */
.fab-item:nth-child(1) {
    background: #ff4081;
}

.fab-item:nth-child(2) {
    background: #29b6f6;
}

.fab-item:nth-child(3) {
    background: #66bb6a;
}

/* 主按钮 */
.fab-main {
    width: 40px;
    height: 40px;
    background: #01579b;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 28px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: transform 0.3s, background 0.3s;
    z-index: 101;
}

/* 主按钮旋转动画 */
.fab-main.open {
    transform: rotate(45deg);
    background: #e53935;
}

/* 提示文字 */
.fab-tooltip {
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 14px;
    white-space: nowrap;
    position: absolute;
    right: 70px;
    transform: translateX(10px);
    opacity: 0;
    transition: opacity 0.2s, transform 0.2s;
}

.fab-item:hover .fab-tooltip {
    opacity: 1;
    transform: translateX(0);
}


/* 左上角悬浮天气卡片样式 */
#weather-float {
    position: fixed;
    top: 80px;
    /* 根据你导航栏高度调整 */
    left: 10px;
    z-index: 9999;

    width: 140px;
    padding: 12px;
    border-radius: 12px;

    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);

    color: #333;
    font-family: "Microsoft YaHei", sans-serif;
    text-align: center;

    transition: all 0.3s ease;
}

#weather-float:hover {
    transform: translateY(-3px);
}

.wf-location {
    font-size: 15px;
    margin-bottom: 5px;
}

.wf-temp {
    font-size: 20px;
    font-weight: bold;
}

.wf-desc {
    font-size: 12px;
    opacity: 0.7;
}

#weather-float {
    transition: all 0.3s ease;
}

/* 隐藏状态 */
#weather-float.hide {
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
}


/* 公共样式结束---中间内容样式区域 */


/* 新闻列表样式 */
.news-container {
    width: 100%;
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
}

/* 卡片 */
.news-card {
    width: 400px;
    height: 500px;
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 图片区域 */
.news-img {
    width: 100%;
    height: 180px;
    border-radius: 15px;
    object-fit: cover;
    background: #eee;
}

/* 内容区域 */
.news-content {
    flex: 1;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 标题 */
.news-title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    height: 50px;
    overflow: hidden;
}

/* 描述 */
.news-desc {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    height: 80px;
    overflow: hidden;
}

/* 按钮 */
.news-btn {
    margin-top: 15px;
    padding: 10px;
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(135deg, #6dd5ed, #2193b0);
    color: #fff;
    text-decoration: none;
}

/* ================== 骨架屏 ================== */
.skeleton {
    animation: pulse 1.5s infinite;
    background: linear-gradient(90deg, #eee, #f5f5f5, #eee);
    background-size: 200% 100%;
}

@keyframes pulse {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.skeleton-img {
    width: 100%;
    height: 180px;
    border-radius: 15px;
}

.skeleton-text {
    height: 20px;
    margin-top: 10px;
    border-radius: 6px;
}

.skeleton-btn {
    height: 35px;
    margin-top: 15px;
    border-radius: 10px;
}

.news-actions {
    display: flex;
    gap: 10px;
}

.news-btn {
    flex: 1;
    padding: 10px;
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(135deg, #6dd5ed, #2193b0);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
}

.news-btn.secondary {
    background: linear-gradient(135deg, #ff9966, #ff5e62);
}

.news-wrapper {
    width: 100%;
    margin: 40px auto;
    overflow: hidden;
    position: relative;
}

/* 滚动轨道 */
.news-track {
    display: flex;
    gap: 50px;
    width: max-content;
    animation: scrollX 30s linear infinite;
}

/* 悬停暂停 */
.news-wrapper:hover .news-track {
    /* 鼠标移入不暂停 */
    /* animation-play-state: paused; */
    animation-play-state: running;
}

/* 关键动画 */
@keyframes scrollX {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}