/*
Theme Name: girlssurv
Theme URI: https://girlssurv.com/
Author: AliAliceStudio
Description: ガールズ＆サバイバー公式サイト用テーマ（夜の廃墟風）。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: All rights reserved
Text Domain: girlssurv
*/
:root{--bg:#0e1016;--bg2:#151924;--line:#2a3040;--txt:#d9d6cf;--mute:#8d8a86;--fire:#ff8a2a;--fire2:#ffb85c}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font-family:"Noto Sans JP","Hiragino Sans",sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.age-bar{background:#2a1208;color:var(--fire2);font-size:13px;padding:8px 16px;text-align:center;border-bottom:1px solid #5a2a10}
.age-bar strong{background:var(--fire);color:#111;padding:1px 6px;border-radius:3px;margin-right:6px}
.age-btns{margin-left:10px}.age-btns .btn{margin:2px}
.site-header{position:sticky;top:0;z-index:5;background:rgba(14,16,22,.9);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;height:60px}
.logo{font-weight:900;letter-spacing:.15em;color:var(--fire2);font-size:20px}
nav a{margin-left:24px;font-size:14px;color:var(--mute)}nav a:hover{color:var(--fire2)}
.eyebrow{color:var(--fire);letter-spacing:.3em;font-size:13px;margin:0}
h1{font-size:clamp(30px,4.2vw,50px);word-break:keep-all;line-height:1.2;margin:.2em 0;text-shadow:0 0 24px rgba(255,138,42,.35)}
.lead{color:var(--mute)}
.cta{margin-top:28px}
.btn{display:inline-block;background:var(--fire);color:#141414;font-weight:700;padding:12px 26px;border-radius:4px;margin-right:12px;box-shadow:0 0 18px rgba(255,138,42,.4)}
.btn.ghost{background:transparent;color:var(--fire2);border:1px solid var(--fire);box-shadow:none}
.btn.small{padding:2px 10px;font-size:12px}
.placeholder{aspect-ratio:4/3;border:2px dashed var(--fire);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--fire2);background:repeating-linear-gradient(45deg,#1a1d28 0 14px,#161922 14px 28px);font-size:15px;padding:16px}
.sec{padding:88px 0}.sec.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:30px;margin:0 0 24px}h2 span{display:block;color:var(--fire);font-size:14px;letter-spacing:.3em}
.intro{color:var(--fire2);border-left:3px solid var(--fire);padding-left:12px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.card{background:#141822;border:1px solid var(--line);border-radius:8px;padding:24px}
.card img,.icon-row img{width:48px;height:48px;filter:invert(68%) sepia(80%) saturate(900%) hue-rotate(345deg) brightness(102%)}
.card h3{margin:12px 0 6px;font-size:17px}.card p{margin:0;font-size:14px;color:var(--mute)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps li{position:relative;border-top:2px solid var(--fire);padding:20px 4px 0}
.steps b{font-size:40px;color:var(--fire);opacity:.8;line-height:1}
.steps h3{margin:8px 0;font-size:17px}.steps p{font-size:14px;color:var(--mute);margin:0}
.actions{margin-top:48px}.actions ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.actions li{border:1px solid var(--line);background:#10131b;padding:4px 14px;border-radius:999px;font-size:14px}
.note{font-size:12px;color:var(--mute)}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.map{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 0 40px rgba(255,138,42,.15)}
.map img{display:block;width:100%;filter:brightness(.85) saturate(.85)}
.icon-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.icon-row img{width:34px;height:34px;opacity:.85}
.news{list-style:none;padding:0}.news li{border-bottom:1px solid var(--line);padding:14px 0}
.news time{color:var(--fire);margin-right:20px;font-family:monospace}
.site-footer{padding:48px 0;font-size:13px;color:var(--mute);text-align:center}.site-footer .copy{margin-top:20px}
@media(max-width:760px){
 nav{display:none}
  h1{font-size:34px}
 .cards,.steps{grid-template-columns:1fr}
 .sec{padding:56px 0}
 .btn{padding:10px 18px}
}

/* hero with illustration */
.hero{position:relative;overflow:hidden;min-height:calc(100vh - 96px);max-height:820px;display:flex;align-items:center;background:#0a0c12}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,18,.92) 0%,rgba(10,12,18,.7) 30%,rgba(10,12,18,0) 55%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
.hero-inner{position:relative;z-index:1;width:100%}
.hero-text{max-width:460px}
@media(max-width:760px){
 .hero{display:block;min-height:0;max-height:none}
 .hero-bg img{position:static;display:block;width:100%;height:62vh;min-height:380px;object-position:58% 35%}
 .hero::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(14,16,22,.85) 38%,transparent 60%)}
 .hero-inner{margin-top:-150px;padding-bottom:40px}
}
.catch{font-family:"Noto Serif JP","Hiragino Mincho ProN",serif;font-weight:900;font-size:clamp(24px,2.6vw,34px);letter-spacing:.12em;margin:.4em 0 0;color:#f3e6d6;word-break:keep-all;text-shadow:0 0 2px #000,0 0 14px rgba(255,138,42,.55),0 0 30px rgba(255,90,20,.3);border-left:4px solid var(--fire);padding-left:14px}
.lead-intro{font-size:17px;line-height:2.1;border-left:3px solid var(--fire);padding-left:16px;max-width:760px}
.sns{list-style:none;padding:0;display:flex;justify-content:center;gap:14px;margin:18px 0}
.sns a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 16px;color:var(--txt)}
.sns a:hover,.nav-sns:hover{border-color:var(--fire);color:var(--fire2)}
.sns-mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--fire);color:#141414;font-weight:900;font-size:12px}
.nav-sns{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;margin-left:12px!important;font-weight:900;font-size:13px}
.join{margin-top:48px;text-align:center;border:1px solid #5a2a10;background:radial-gradient(ellipse at 50% 120%,rgba(255,138,42,.18),transparent 65%),#11141c;border-radius:10px;padding:36px 20px}
.join-badge{display:inline-block;margin:0;color:var(--fire);border:1px solid var(--fire);border-radius:999px;padding:2px 14px;font-size:12px;letter-spacing:.2em}
.join-msg{font-size:18px;font-weight:700;margin:14px 0 22px;line-height:1.9}
.join .btn{margin:0}
.mark{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--fire);color:var(--fire);font-size:34px;font-weight:900;line-height:1;font-family:"Noto Sans Symbols 2","Segoe UI Symbol","DejaVu Sans",sans-serif}
.item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.item-cat{background:#141822;border:1px solid var(--line);border-radius:8px;padding:20px}
.item-cat h3{margin:0 0 10px;color:var(--fire2);font-size:16px;letter-spacing:.1em}
.item-cat ul{list-style:none;padding:0;margin:0}
.item-cat li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:15px}
.item-cat li:first-child{border-top:0}
.item-cat img{width:26px;height:26px;filter:invert(68%) sepia(80%) saturate(900%) hue-rotate(345deg) brightness(102%)}
.item-cat .dot{width:26px;height:26px;display:inline-grid;place-items:center}.item-cat .dot::before{content:"";width:8px;height:8px;background:var(--fire);transform:rotate(45deg)}
@media(max-width:760px){.item-grid{grid-template-columns:1fr 1fr}}
.contact-link{color:var(--fire2);border-bottom:1px solid var(--fire);margin-left:8px}
.form-wrap{max-width:640px}
.form label{display:block;font-weight:700;margin:20px 0 6px}
.form .req{color:var(--fire);font-size:12px;margin-left:6px}
.form input,.form textarea{width:100%;background:#0b0d13;border:1px solid var(--line);border-radius:6px;color:var(--txt);padding:12px;font:inherit}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--fire)}
.form textarea{min-height:180px;resize:vertical}
.form .btn{border:0;cursor:pointer;margin-top:24px;font:inherit;font-weight:700}
.privacy{font-size:13px;color:var(--mute);border-left:3px solid var(--fire);padding-left:12px;margin-top:20px}
.form select{width:100%;background:#0b0d13;border:1px solid var(--line);border-radius:6px;color:var(--txt);padding:12px;font:inherit}
.faq{background:#141822;border:1px solid #5a2a10;border-radius:8px;padding:20px 24px;margin:24px 0 8px}
.faq-title{margin:0 0 8px;font-weight:700;color:var(--fire2)}.faq-title span{font-size:12px;color:var(--fire);border:1px solid var(--fire);border-radius:999px;padding:1px 10px;margin-left:8px}
.faq dl{margin:0}.faq dt{font-weight:700;margin-top:10px;font-size:15px}.faq dd{margin:2px 0 0;color:var(--mute);font-size:14px}
.tbd{color:var(--fire);font-size:12px;margin-left:6px}
.faq-more{display:inline-block;margin-top:14px;color:var(--fire2);font-size:14px;border-bottom:1px solid var(--fire)}
.lore{border-left:3px solid var(--fire);padding:4px 0 4px 18px;margin:8px 0 20px;font-family:"Noto Serif JP","Hiragino Mincho ProN",serif}
.lore-title{font-size:24px;font-weight:900;letter-spacing:.15em;color:#f3e6d6;margin:0 0 12px;text-shadow:0 0 14px rgba(255,138,42,.5)}
.lore p:not(.lore-title){margin:0 0 6px;font-size:15px;line-height:1.9;color:#cfc8bd}
.map-sub{font-size:13px;color:var(--mute)}

/* ---- WordPress版追加 ---- */
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(6,7,10,.96);display:flex;align-items:center;justify-content:center;padding:20px}
.age-gate[hidden]{display:none}
.age-gate-box{max-width:460px;width:100%;text-align:center;border:1px solid #5a2a10;border-radius:10px;padding:36px 24px;background:radial-gradient(ellipse at 50% 120%,rgba(255,138,42,.2),transparent 65%),#11141c}
.age-gate-box .r18{display:inline-block;background:var(--fire);color:#111;font-weight:900;padding:2px 10px;border-radius:4px}
.age-gate-box h2{font-size:22px;margin:16px 0 8px}
.age-gate-box p{color:var(--mute);font-size:14px}
.age-gate-box .btn{margin:8px 6px 0;border:0;cursor:pointer;font:inherit;font-weight:700}
.age-gate-box .btn.ghost{border:1px solid var(--fire)}
body.age-locked{overflow:hidden}
.news a:hover{color:var(--fire2)}
.news .empty{color:var(--mute)}
.form p{margin:0}
.form .wpcf7-form-control-wrap{display:block}
.form .wpcf7-not-valid-tip{color:#ff7a5c;font-size:13px}
.form .wpcf7-response-output{border-color:var(--fire)!important;border-radius:6px;padding:10px 14px!important;margin:20px 0 0!important}
.form .wpcf7-spinner{vertical-align:middle}
.cf7-missing{border:2px dashed var(--fire);border-radius:8px;padding:20px;color:var(--fire2)}
.entry{max-width:760px}.entry-date{color:var(--fire);font-family:monospace}
.form input[type=submit]{width:auto;background:var(--fire);color:#141414;border:0;font-weight:700;padding:12px 26px;border-radius:4px;margin-top:24px;cursor:pointer;box-shadow:0 0 18px rgba(255,138,42,.4)}
.form input[type=submit]:disabled{opacity:.6}
.form .privacy{margin-top:20px}
.cta{display:flex;flex-wrap:wrap;gap:12px}.cta .btn{margin:0;text-align:center}
