/*
Theme Name: YARD GYM Official
Theme URI: https://www.yard-gym.com/
Author: YARD FITNESS AND TRAINING GYM
Description: Responsive custom theme for YARD GYM. News and machines editable in WordPress.
Version: 1.1.0
Requires PHP: 7.4
Text Domain: yardgym
*/
:root{--bg:#090b0d;--fg:#f5f5f5;--muted:#a7aab0;--line:#34383c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,'Noto Sans JP',sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer}header{height:82px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,70px);background:rgba(5,6,8,.85);backdrop-filter:blur(15px);border-bottom:1px solid #ffffff20}.brand img{width:175px;display:block}.nav{display:flex;align-items:center;gap:21px;font-size:12px;font-weight:bold;letter-spacing:.05em}.nav a:hover,.textlink:hover{color:#b4c7d6}.pill{border:1px solid white;padding:9px 16px}.menu-toggle{display:none;color:white;background:none;border:1px solid #888;padding:5px 12px;font-size:24px}.hero{min-height:95vh;position:relative;display:flex;align-items:flex-end;padding:180px 7vw 9vh;background:#12171d url('assets/key1.webp') center/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050607b5,transparent 80%),linear-gradient(0deg,#050607c9,transparent 60%)}.hero>*{position:relative}.eyebrow{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#b5c6d5}.hero h1{font-size:clamp(50px,8vw,125px);line-height:1.03;letter-spacing:-.065em;margin:16px 0 24px}.hero p{font-size:clamp(15px,1.6vw,21px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 25px;background:white;color:#111;font-weight:700;font-size:13px;border:1px solid white;transition:.2s}.btn:hover{background:transparent;color:white}.btn.ghost{background:transparent;color:white}.btn.ghost:hover{background:white;color:black}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.container{max-width:1250px;margin:auto;padding:0 30px}.section{padding:110px 0}.section h2,.page-title{font-size:clamp(38px,6vw,78px);line-height:1.1;letter-spacing:-.04em;margin:10px 0 30px}.section-intro{color:#bfc4c8;max-width:730px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:0}.stat{padding:52px 22px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-size:clamp(43px,7vw,96px);line-height:1.15;letter-spacing:-.06em}.stat small{font-size:14px;color:#d2d5d8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#15191d;overflow:hidden;border:1px solid #2c3136;transition:transform .3s}.card:hover{transform:translateY(-5px)}.card img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.card-body{padding:24px}.card h3{font-size:24px;line-height:1.3;margin:7px 0}.card p,.meta{color:#afb5bb;font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split img{width:100%;height:520px;object-fit:cover}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price{border:1px solid #555;padding:30px}.price strong{display:block;font-size:clamp(30px,4vw,52px);line-height:1.4}.price span{font-size:14px;color:#c5c9cc}.muted-bg{background:#12161a}.news-row{display:grid;grid-template-columns:140px 1fr 35px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #3a3f44}.news-row time{color:#b2b7bc;font-size:13px}.news-row:hover{color:#c4d4df}.page-hero{padding:175px 0 70px;background:linear-gradient(#141a20,#090b0d)}.article{max-width:920px;margin:auto;padding:40px 30px 120px}.article h2{font-size:25px;margin-top:40px}.article p,.article li{color:#d6dadd}.article a{text-decoration:underline}.article img{height:auto}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:25px;border:1px solid #444}.step:before{counter-increment:steps;content:'0' counter(steps);font-size:48px;font-weight:800;display:block}.socials{display:flex;gap:15px;align-items:center}.socials svg{width:26px;height:26px;fill:currentColor}footer{border-top:1px solid #34383c;padding:65px 0 30px;background:#080a0c}.footer-grid{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:#c6c9cc;margin-top:40px}.copyright{font-size:11px;color:#888;margin-top:35px}.rule{border-bottom:1px solid #34383c;padding:24px 0}.rule h2{font-size:22px}.rule li{margin-bottom:12px}.language{background:#151a1e;color:white;border:1px solid #aaa;padding:12px;max-width:100%;font-size:15px}.notice{border-left:3px solid white;padding:15px 20px;background:#1d2226;margin:25px 0}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.show{opacity:1;transform:none}@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#101317;padding:25px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.cards,.price-grid,.steps{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split img{height:340px}}@media(max-width:600px){header{height:70px}.brand img{width:140px}.nav{top:70px}.hero{min-height:82vh;padding:140px 24px 70px;background-position:58% center}.hero h1{font-size:58px}.container{padding:0 20px}.section{padding:70px 0}.cards,.price-grid,.steps{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #34383c;padding:25px}.stat strong{font-size:64px}.news-row{grid-template-columns:1fr 20px;gap:5px}.news-row time{grid-column:1 / -1}.page-hero{padding:125px 0 45px}.article{padding:25px 20px 75px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* 2026-11-02 contact/logo refinement */
.brand img{width:clamp(185px,17vw,255px);max-height:68px;object-fit:contain}.yard-contact{line-height:2}.yard-contact strong{font-size:12px;letter-spacing:.15em;color:#aeb9c2}.yard-contact a{text-decoration:underline;text-underline-offset:4px}.card:not(a){cursor:default}@media(max-width:600px){.brand img{width:174px;max-height:52px}}

/* v3: logo proportions, price cards and native language selector */
header .brand{display:flex;align-items:center;flex:0 0 auto;min-width:0}header .brand img{width:clamp(115px,11vw,152px);max-height:48px;object-fit:contain;object-position:left center}header .nav{gap:clamp(9px,1.1vw,19px)}
.language-control{position:relative;display:inline-flex;align-items:center;max-width:100%;margin:14px 0 24px}.language-control::after{content:"";position:absolute;right:17px;top:50%;width:8px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-70%) rotate(45deg);pointer-events:none}.language-control .language{appearance:none;-webkit-appearance:none;min-width:235px;padding:12px 46px 12px 16px;margin:0;line-height:1.5;border-radius:3px}.price-grid .price{min-height:190px}.price-grid .price strong{white-space:nowrap}
@media(max-width:900px){header .brand img{width:145px;max-height:45px}}@media(max-width:600px){header .brand img{width:124px;max-height:40px}.language-control{width:100%}.language-control .language{width:100%}}

/* V4: smooth, restrained parallax and accessible animations */
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.hero{background-position:center calc(50% + var(--parallax-y, 0px));background-size:cover}}
.yard-language-panel{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 35px;padding:22px;border:1px solid #555;background:#222}.yard-language-panel label{font-size:12px;font-weight:800;letter-spacing:1px}.yard-language-panel select{appearance:auto;background:#111;color:#fff;border:1px solid #aaa;padding:12px 15px;min-width:240px;max-width:100%;font-size:15px}.yard-rule-content .rule p{line-height:2.1}.yard-rule-content .rule{margin:25px 0;padding-bottom:18px;border-bottom:1px solid #444}.yard-rule-content .rule h2{font-size:20px}.yard-rule-content .notice{margin:30px 0}

/* v5: four-step joining guide and consistently aligned language selector */
@media(min-width:901px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.yard-language-panel{gap:14px}
.yard-language-panel select#yard-rules-language{
  -webkit-appearance:none;appearance:none;
  width:245px;min-width:0;max-width:100%;height:46px;
  padding:0 46px 0 15px;margin:0;
  border:1px solid #777;border-radius:2px;
  background-color:#111;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:16px 16px;
  color:#fff;font-size:14px;line-height:normal;cursor:pointer;
}
.yard-language-panel select#yard-rules-language:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.yard-language-panel{align-items:stretch;flex-direction:column}.yard-language-panel select#yard-rules-language{width:100%}}

/* Full-text rules: preserve paragraph separation */
.yard-rule-content .rule p { margin: 0 0 1.15em; line-height: 1.95; }
.yard-rule-content .rule p:last-child { margin-bottom: 0; }
.yard-rule-content .rule { overflow-wrap: anywhere; }

/* V7: multilingual readability, mobile and introduction */
.yard-rules{max-width:980px}.yard-rule-content{font-size:clamp(15px,1.05vw,17px);line-height:1.85}.yard-rule-content .rule h2{font-size:clamp(19px,2.1vw,25px);line-height:1.5}.yard-rule-content .rule p{line-height:1.9;margin-bottom:1.05em}.yard-rule-content .notice{font-size:inherit}.yard-rules .notice{overflow-wrap:anywhere}.yard-language-panel{max-width:100%;gap:16px}.yard-language-panel label{flex-shrink:0}.yard-language-panel select#yard-rules-language{flex:0 1 280px;width:280px;font-size:16px;background-position:right 15px center}.yard-news-placeholder{color:#8f969b;pointer-events:none}.yard-wellness{background:#0d1115}.yard-wellness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:36px 0 24px}.yard-wellness-grid>div{border:1px solid #3c4349;padding:26px}.yard-wellness-grid strong{font-size:16px;letter-spacing:.08em}.yard-wellness-grid p{color:#c8cdd0}.yard-wellness-note{font-size:12px;color:#aeb5b9;margin-bottom:28px}
.yard-intro{position:fixed;inset:0;background:#050607;z-index:99999;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}.yard-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.yard-intro-inner{width:min(65vw,500px);display:flex;align-items:center;flex-direction:column;gap:22px;animation:yard-intro-in .85s ease both}.yard-intro-inner img{width:min(55vw,300px);max-height:150px;object-fit:contain}.yard-intro-inner span{font-size:clamp(12px,2vw,19px);font-weight:800;letter-spacing:.24em;color:#eee}.yard-intro-line{height:2px;background:white;width:0;animation:yard-line 1.45s .25s ease forwards}.yard-intro-skip{position:absolute;right:24px;bottom:25px;color:#ddd;border:1px solid #777;background:transparent;padding:9px 16px;font-size:12px;letter-spacing:.12em}@keyframes yard-intro-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes yard-line{to{width:100%}}
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}
@media(max-width:900px){.yard-wellness-grid{grid-template-columns:1fr}.yard-rule-content{font-size:16px}.yard-language-panel{padding:18px}.yard-language-panel select#yard-rules-language{flex:1 1 100%;width:100%;min-width:0}.yard-intro-inner{width:80vw}}
@media(max-width:600px){.page-title{overflow-wrap:anywhere;font-size:clamp(34px,9vw,48px)}.yard-rules{padding-inline:20px}.yard-rule-content .rule{margin:12px 0;padding:18px 0}.yard-rule-content .rule h2{font-size:19px}.yard-rule-content .rule p{font-size:16px;line-height:1.85}.yard-language-panel{flex-direction:column;align-items:stretch}.yard-language-panel label{font-size:12px}.yard-language-panel select#yard-rules-language{height:48px}.yard-wellness-grid>div{padding:20px}.yard-intro-skip{bottom:20px;right:18px}}
@media(prefers-reduced-motion:reduce){.yard-intro{display:none!important}}
