/* ============================================
   gm-style.css — 节奏赌场 · 黑胶唱片游戏音乐主题
   CSS前缀: gm-
   平台备案: FRUIT-GM-2026-1803
   ============================================ */

/* --- CSS Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Montserrat',sans-serif;background-color:#2B2B2B;color:#F5F5F5;line-height:1.8;overflow-x:hidden}
a{color:#D4B283;text-decoration:none;transition:color .3s}
a:hover{color:#E45A33}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:'Oswald',sans-serif;font-weight:700;line-height:1.3;color:#F5F5F5}
h1{font-size:2.8rem}
h2{font-size:2.2rem}
h3{font-size:1.6rem}
h4{font-size:1.3rem}
p{margin-bottom:1rem;color:#A0A0A0}

/* --- 容器 --- */
.gm-container{max-width:1200px;margin:0 auto;padding:0 20px}
.gm-section{padding:80px 0}
.gm-section-title{text-align:center;margin-bottom:50px;position:relative}
.gm-section-title h2{display:inline-block;padding-bottom:15px;position:relative}
.gm-section-title h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:linear-gradient(90deg,#D4B283,#E45A33)}

/* --- 导航栏 --- */
.gm-navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(43,43,43,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(212,178,131,.15);transition:all .3s}
.gm-navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:0 30px;height:70px;max-width:1400px;margin:0 auto}
.gm-logo{display:flex;align-items:center;gap:12px}
.gm-logo img{height:45px;width:auto}
.gm-logo-text{font-family:'Oswald',sans-serif;font-size:1.5rem;color:#D4B283;text-shadow:0 0 15px rgba(212,178,131,.5);letter-spacing:2px}
.gm-nav-links{display:flex;gap:5px;align-items:center}
.gm-nav-links a{padding:8px 16px;font-size:.9rem;color:#A0A0A0;position:relative;transition:color .3s}
.gm-nav-links a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:#D4B283;transition:all .3s;transform:translateX(-50%);box-shadow:0 0 8px rgba(212,178,131,.6)}
.gm-nav-links a:hover,
.gm-nav-links a.gm-active{color:#D4B283}
.gm-nav-links a:hover::after,
.gm-nav-links a.gm-active::after{width:80%}
.gm-cta-btn{background:#E45A33;color:#fff!important;padding:10px 24px;border-radius:4px;font-weight:600;font-size:.9rem;transition:all .3s;box-shadow:0 0 0 rgba(228,90,51,0)}
.gm-cta-btn:hover{background:#ff6b42;box-shadow:0 0 20px rgba(228,90,51,.5);color:#fff!important}
.gm-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px}
.gm-hamburger span{width:28px;height:3px;background:#D4B283;border-radius:2px;transition:all .3s}

/* --- Hero 模块 --- */
.gm-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:70px}
.gm-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:url('../images/hero-banner.jpg') center/cover no-repeat;filter:brightness(.4)}
.gm-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 30%,rgba(26,26,26,.9) 80%)}
.gm-hero-content{position:relative;z-index:2;text-align:center;padding:40px 20px}
.gm-hero-content h1{font-size:3.2rem;margin-bottom:20px;text-shadow:0 0 30px rgba(212,178,131,.4)}
.gm-hero-content h1 span{color:#D4B283}
.gm-hero-subtitle{font-size:1.2rem;color:#A0A0A0;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}
.gm-hero-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.gm-btn-primary{background:linear-gradient(135deg,#D4B283,#E45A33);color:#1A1A1A;padding:14px 36px;border-radius:4px;font-weight:700;font-size:1rem;transition:all .3s;border:none;cursor:pointer;font-family:'Oswald',sans-serif;letter-spacing:1px}
.gm-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,178,131,.4);color:#1A1A1A}
.gm-btn-outline{border:2px solid #D4B283;color:#D4B283;padding:12px 34px;border-radius:4px;font-weight:700;font-size:1rem;transition:all .3s;background:transparent;cursor:pointer;font-family:'Oswald',sans-serif;letter-spacing:1px}
.gm-btn-outline:hover{background:rgba(212,178,131,.15);box-shadow:0 0 15px rgba(212,178,131,.3)}

/* --- 唱片旋转动画 --- */
.gm-vinyl-spin{animation:gm-spin 8s linear infinite}
@keyframes gm-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* --- 本周热门单曲 --- */
.gm-hot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.gm-vinyl-card{background:rgba(26,26,26,.8);border-radius:4px;overflow:hidden;position:relative;transition:all .4s;box-shadow:0 6px 18px rgba(212,178,131,.1);border:1px solid rgba(212,178,131,.1)}
.gm-vinyl-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(212,178,131,.25)}
.gm-vinyl-card-img{position:relative;overflow:hidden;aspect-ratio:1/1}
.gm-vinyl-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gm-vinyl-card:hover .gm-vinyl-card-img img{transform:scale(1.05)}
.gm-vinyl-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(26,26,26,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s}
.gm-vinyl-card:hover .gm-vinyl-card-overlay{opacity:1}
.gm-vinyl-card-body{padding:20px}
.gm-vinyl-card-body h3{font-size:1.1rem;margin-bottom:8px}
.gm-vinyl-card-tag{display:inline-block;background:rgba(228,90,51,.2);color:#E45A33;padding:3px 10px;border-radius:3px;font-size:.75rem;font-weight:600;margin-right:5px}

/* --- 视频模块 --- */
.gm-video-section{background:#1A1A1A;position:relative}
.gm-video-wrapper{position:relative;max-width:900px;margin:0 auto;border-radius:4px;overflow:hidden;box-shadow:0 6px 18px rgba(212,178,131,.2);border:2px solid rgba(212,178,131,.15)}
.gm-video-wrapper video{width:100%;display:block}

/* --- 排行榜 --- */
.gm-leaderboard{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:start}
.gm-top3{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.gm-top3-item{text-align:center;padding:20px;background:rgba(26,26,26,.6);border-radius:4px;border:1px solid rgba(212,178,131,.15);flex:1;min-width:120px}
.gm-top3-rank{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:1.5rem;font-weight:700;margin:0 auto 10px}
.gm-rank-gold{background:linear-gradient(135deg,#D4B283,#f0d4a8);color:#1A1A1A}
.gm-rank-silver{background:linear-gradient(135deg,#C0C0C0,#e8e8e8);color:#1A1A1A}
.gm-rank-bronze{background:linear-gradient(135deg,#CD7F32,#e8a862);color:#1A1A1A}
.gm-rank-table{width:100%;border-collapse:collapse}
.gm-rank-table th{background:rgba(212,178,131,.15);color:#D4B283;padding:12px 15px;text-align:left;font-family:'Oswald',sans-serif;font-size:.9rem}
.gm-rank-table td{padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.05);color:#A0A0A0;font-size:.9rem}
.gm-rank-table tr:hover td{background:rgba(212,178,131,.05)}

/* --- 点唱机分类 --- */
.gm-jukebox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.gm-jukebox-item{background:rgba(26,26,26,.7);border:1px solid rgba(212,178,131,.15);border-radius:4px;padding:30px;text-align:center;transition:all .3s;cursor:pointer}
.gm-jukebox-item:hover{border-color:#D4B283;box-shadow:0 6px 18px rgba(212,178,131,.2);transform:translateY(-4px)}
.gm-jukebox-icon{font-size:2.5rem;margin-bottom:15px}
.gm-jukebox-item h3{margin-bottom:8px;font-size:1.1rem}
.gm-jukebox-item p{font-size:.85rem;margin-bottom:0}

/* --- DJ推荐 --- */
.gm-dj-section{background:linear-gradient(135deg,rgba(26,26,26,.95),rgba(43,43,43,.95));position:relative}
.gm-dj-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}
.gm-dj-img{border-radius:4px;overflow:hidden;box-shadow:0 6px 18px rgba(212,178,131,.2)}
.gm-dj-img img{width:100%;display:block}
.gm-dj-content h2{margin-bottom:15px}
.gm-dj-content .gm-dj-name{color:#D4B283;font-size:1.1rem;margin-bottom:20px;font-style:italic}
.gm-dj-picks{display:flex;flex-direction:column;gap:15px;margin-top:20px}
.gm-dj-pick{display:flex;align-items:center;gap:15px;background:rgba(26,26,26,.5);padding:15px;border-radius:4px;border-left:3px solid #D4B283;transition:all .3s}
.gm-dj-pick:hover{background:rgba(212,178,131,.1)}
.gm-dj-pick-num{font-family:'Oswald',sans-serif;font-size:1.5rem;color:#D4B283;min-width:30px}

/* --- 社区 --- */
.gm-community-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}
.gm-comment-card{background:rgba(26,26,26,.7);border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:25px;transition:all .3s}
.gm-comment-card:hover{border-color:rgba(212,178,131,.3)}
.gm-comment-header{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.gm-comment-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#D4B283,#E45A33);display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:700;color:#1A1A1A;font-size:1.1rem}
.gm-comment-name{font-weight:600;color:#F5F5F5;font-size:.95rem}
.gm-comment-date{font-size:.8rem;color:#666}
.gm-comment-text{color:#A0A0A0;font-size:.9rem;line-height:1.7}
.gm-comment-stars{color:#D4B283;margin-top:10px;font-size:.9rem}

/* --- 幕后故事 --- */
.gm-story-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.gm-story-img{border-radius:4px;overflow:hidden;box-shadow:0 6px 18px rgba(212,178,131,.2)}
.gm-story-img img{width:100%;display:block}

/* --- 水果机试玩入口 --- */
.gm-fruit-entry{background:linear-gradient(135deg,rgba(228,90,51,.1),rgba(212,178,131,.1));border:1px solid rgba(212,178,131,.2);border-radius:4px;overflow:hidden}
.gm-fruit-entry-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center}
.gm-fruit-entry-img img{width:100%;height:100%;object-fit:cover}
.gm-fruit-entry-content{padding:50px}

/* --- 厂牌认证 --- */
.gm-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.gm-cert-item{background:rgba(26,26,26,.6);border:1px solid rgba(212,178,131,.15);border-radius:4px;padding:30px;transition:all .3s}
.gm-cert-item:hover{border-color:#D4B283}
.gm-cert-icon{font-size:2.5rem;margin-bottom:15px;color:#D4B283}
.gm-cert-item h4{margin-bottom:8px;color:#D4B283}

/* --- 页脚 --- */
.gm-footer{background:#1A1A1A;padding:60px 0 0;border-top:1px solid rgba(212,178,131,.1)}
.gm-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:40px}
.gm-footer-brand p{color:#666;font-size:.85rem;margin-top:15px;line-height:1.7}
.gm-footer h4{font-family:'Oswald',sans-serif;color:#D4B283;margin-bottom:20px;font-size:1.1rem}
.gm-footer-links a{display:block;color:#A0A0A0;padding:5px 0;font-size:.9rem;transition:color .3s}
.gm-footer-links a:hover{color:#D4B283;padding-left:5px}
.gm-footer-contact p{color:#A0A0A0;font-size:.85rem;margin-bottom:8px}
.gm-footer-social{display:flex;gap:12px;margin-top:15px}
.gm-footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(212,178,131,.3);display:flex;align-items:center;justify-content:center;color:#D4B283;transition:all .3s;font-size:.85rem}
.gm-footer-social a:hover{background:#D4B283;color:#1A1A1A}
.gm-footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:20px 0;text-align:center}
.gm-footer-bottom p{color:#666;font-size:.8rem;margin-bottom:0}

/* --- 面包屑 --- */
.gm-breadcrumb{padding:90px 0 20px;background:rgba(26,26,26,.5)}
.gm-breadcrumb-list{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gm-breadcrumb-list a{color:#A0A0A0;font-size:.85rem}
.gm-breadcrumb-list a:hover{color:#D4B283}
.gm-breadcrumb-list span{color:#666;font-size:.85rem}
.gm-breadcrumb-sep{color:#666}

/* --- 内页通用 --- */
.gm-page-hero{position:relative;padding:120px 0 60px;text-align:center;overflow:hidden}
.gm-page-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;filter:brightness(.3)}
.gm-page-hero-content{position:relative;z-index:2}
.gm-page-hero-content h1{font-size:2.5rem;margin-bottom:15px}
.gm-article-content{max-width:900px;margin:0 auto;padding:60px 20px}
.gm-article-content p{font-size:1rem;line-height:2;margin-bottom:1.5rem;color:#ccc}
.gm-article-content h2{margin:40px 0 20px;color:#D4B283}
.gm-article-content h3{margin:30px 0 15px;color:#F5F5F5}
.gm-article-content img{border-radius:4px;margin:30px 0;box-shadow:0 6px 18px rgba(212,178,131,.15)}
.gm-article-content blockquote{border-left:3px solid #D4B283;padding:15px 25px;margin:25px 0;background:rgba(212,178,131,.05);border-radius:0 4px 4px 0}
.gm-article-content blockquote p{color:#D4B283;margin-bottom:0;font-style:italic}

/* --- 内链卡片 --- */
.gm-related-games{padding:60px 0}
.gm-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}
.gm-related-card{background:rgba(26,26,26,.7);border:1px solid rgba(212,178,131,.1);border-radius:4px;overflow:hidden;transition:all .3s}
.gm-related-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(212,178,131,.2)}
.gm-related-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.gm-related-card-body{padding:15px}
.gm-related-card-body h4{font-size:1rem;margin-bottom:5px}
.gm-related-card-body p{font-size:.8rem;margin-bottom:0}

/* --- 游戏列表页 --- */
.gm-games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.gm-game-list-card{background:rgba(26,26,26,.7);border:1px solid rgba(212,178,131,.1);border-radius:4px;overflow:hidden;transition:all .4s}
.gm-game-list-card:hover{transform:translateY(-6px);box-shadow:0 10px 25px rgba(212,178,131,.2)}
.gm-game-list-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gm-game-list-card-body{padding:20px}
.gm-game-list-card-body h3{font-size:1.1rem;margin-bottom:8px}
.gm-game-list-card-body p{font-size:.85rem}

/* --- 水果机试玩页 --- */
.gm-fruit-machine{background:linear-gradient(180deg,#1A1A1A,#2B2B2B);border:3px solid #D4B283;border-radius:8px;max-width:400px;margin:0 auto;padding:30px;box-shadow:0 6px 18px rgba(212,178,131,.3)}
.gm-fruit-reels{display:flex;gap:10px;justify-content:center;margin:20px 0}
.gm-fruit-reel{width:90px;height:90px;background:#1A1A1A;border:2px solid #D4B283;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;overflow:hidden}
.gm-fruit-controls{text-align:center;margin-top:20px}
.gm-fruit-score{display:flex;justify-content:space-between;margin-bottom:20px;padding:10px;background:rgba(212,178,131,.1);border-radius:4px}
.gm-fruit-score span{font-family:'Oswald',sans-serif;color:#D4B283;font-size:1.1rem}
.gm-spin-btn{background:linear-gradient(135deg,#E45A33,#D4B283);color:#1A1A1A;border:none;padding:15px 50px;border-radius:4px;font-family:'Oswald',sans-serif;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s;letter-spacing:2px}
.gm-spin-btn:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(228,90,51,.5)}
.gm-spin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.gm-reset-btn{background:transparent;border:1px solid #A0A0A0;color:#A0A0A0;padding:8px 20px;border-radius:4px;cursor:pointer;margin-top:10px;transition:all .3s;font-size:.85rem}
.gm-reset-btn:hover{border-color:#D4B283;color:#D4B283}
.gm-fruit-result{text-align:center;padding:10px;margin-top:15px;border-radius:4px;font-weight:600;min-height:40px}
.gm-fruit-result.gm-win{color:#D4B283;background:rgba(212,178,131,.1)}
.gm-fruit-result.gm-lose{color:#A0A0A0}
.gm-fruit-credits{text-align:center;font-family:'Oswald',sans-serif;font-size:1.3rem;color:#D4B283;margin-bottom:15px}
.gm-fruit-btns{display:flex;gap:15px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.gm-fruit-rules{margin-top:25px;padding:20px;background:rgba(212,178,131,.05);border-radius:4px;border:1px solid rgba(212,178,131,.1)}
.gm-fruit-rules h4{color:#D4B283;margin-bottom:10px;font-size:1rem}
.gm-fruit-rules p{font-size:.85rem;margin-bottom:5px;color:#A0A0A0}

/* --- 毛玻璃面板 --- */
.gm-glass{background:rgba(43,43,43,.6);backdrop-filter:blur(12px);border:1px solid rgba(212,178,131,.1);border-radius:4px}

/* --- 霓虹文字效果 --- */
.gm-neon{color:#D4B283;text-shadow:0 0 7px rgba(212,178,131,.6),0 0 20px rgba(212,178,131,.4),0 0 40px rgba(212,178,131,.2)}

/* --- APP下载区域 --- */
.gm-app-section{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;align-items:center}
.gm-app-mockup{max-width:300px;margin:0 auto}
.gm-app-mockup img{border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.gm-app-features{list-style:none;margin:20px 0}
.gm-app-features li{padding:10px 0;padding-left:30px;position:relative;color:#A0A0A0;font-size:.95rem}
.gm-app-features li::before{content:'♪';position:absolute;left:0;color:#D4B283;font-size:1.1rem}

/* --- 合规页面 --- */
.gm-legal-content{max-width:900px;margin:0 auto;padding:60px 20px}
.gm-legal-content h2{color:#D4B283;margin:35px 0 15px;font-size:1.6rem}
.gm-legal-content h3{margin:25px 0 10px;font-size:1.2rem}
.gm-legal-content p{color:#ccc;line-height:1.9;margin-bottom:1.2rem}
.gm-legal-content ul{margin:15px 0;padding-left:20px}
.gm-legal-content ul li{color:#A0A0A0;margin-bottom:8px;padding-left:15px;position:relative}
.gm-legal-content ul li::before{content:'·';position:absolute;left:0;color:#D4B283}

/* --- 懒加载 --- */
img[loading="lazy"]{opacity:0;transition:opacity .5s}
img[loading="lazy"].gm-loaded,
img.gm-loaded{opacity:1}

/* --- 滚动动画 --- */
.gm-fade-in{opacity:0;transform:translateY(30px);transition:all .6s ease-out}
.gm-fade-in.gm-visible{opacity:1;transform:translateY(0)}
