/*
Theme Name: Japan Karate Association of Virginia - Shotokan Karate Club
Author: JKA Virginia
Description: Modern Shotokan club theme with eight editable pages and a contact form.
Version: 1.5.1
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jka-virginia
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--red:#b3242c;--ink:#191b1c;--paper:#f5f3ee;--muted:#696b6b}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}header{height:104px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:25px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:1px;font-size:23px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:7px}.crest{border:2px solid var(--red);border-radius:50%;width:51px;height:51px;text-align:center;font-size:17px;line-height:22px;color:var(--red);padding:2px}nav{display:flex;gap:22px}nav a{font-size:12px;font-weight:600;padding:12px 0;border-bottom:2px solid transparent}nav a.active{border-color:var(--red);color:var(--red)}.button{display:inline-flex;background:var(--red);color:#fff;padding:17px 24px;font-size:13px;font-weight:700;align-items:center;gap:25px;border:0;cursor:pointer}.button.small{font-size:11px;padding:14px 18px}.button.light{background:#fff;color:var(--ink)}.hero{min-height:650px;position:relative;background:#191b1c;color:white;display:flex;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,16,.95),rgba(12,15,16,.5) 58%,rgba(12,15,16,.13)),url('https://images.unsplash.com/photo-1555597673-b21d5c935865?auto=format&fit=crop&w=2200&q=85') center 45%/cover}.hero-content{position:relative;padding:75px 8%;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:10px;font-weight:700;display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:29px;height:2px;background:var(--red)}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;margin:18px 0;font-weight:600;line-height:.96}h1{font-size:clamp(65px,8vw,112px);letter-spacing:-1px}h1 em{font-style:normal;color:#d64449}p{line-height:1.8;font-size:14px}.hero p{color:#d0d0cc;max-width:405px;margin:25px 0 32px}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;padding:16px 12px}.hero-mark{position:absolute;right:7%;bottom:58px;writing-mode:vertical-rl;font-size:70px;color:#ffffff70;letter-spacing:20px}.hero-bottom{position:absolute;bottom:26px;left:8%;font-size:9px;letter-spacing:3px;color:#c4c4bf}.ribbon{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 8%;background:#fff;gap:35px;border-bottom:1px solid #ddd}.ribbon div{display:flex;gap:17px;align-items:center}.ribbon b{font-family:'Barlow Condensed';font-size:27px;color:var(--red)}.ribbon span{font-size:12px}.ribbon small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.section{padding:85px 8%}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}h2{font-size:53px}h3{font-size:29px}.muted{color:var(--muted)}.photo{width:100%;height:390px;object-fit:cover;filter:grayscale(1)}.photo-wrap{position:relative}.photo-tag{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:14px 20px;font-size:10px;letter-spacing:2px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.dark{background:var(--ink);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:30px;background:#fff;border:1px solid #deddd7}.dark .card{background:#242728;border-color:#3c3f40}.number{font-size:11px;color:var(--red);letter-spacing:2px}.card p{font-size:13px;color:var(--muted)}.dark .card p{color:#b5b7b5}.cta{padding:55px 8%;display:flex;justify-content:space-between;align-items:center;background:var(--red);color:white}.cta h2{font-size:45px;margin:0}.page-intro{padding:65px 8%;background:var(--ink);color:#fff}.page-intro h1{font-size:76px}.page-intro p{max-width:580px;color:#bcbfbc}.note{font-size:12px;padding:15px 20px;border-left:3px solid var(--red);background:#eae7df;line-height:1.7}.schedule{width:100%;border-collapse:collapse;background:#fff;margin:25px 0}.schedule th,.schedule td{text-align:left;padding:22px;border-bottom:1px solid #ddd;font-size:13px}.schedule th{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filters button{padding:10px 20px;background:transparent;border:1px solid #bbb;cursor:pointer}.filters button.active{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery button{border:0;padding:0;background:#fff;cursor:pointer;text-align:left}.gallery img{width:100%;height:290px;object-fit:cover;filter:grayscale(1)}.gallery span{display:block;padding:20px;font-size:12px}label{display:block;font-size:12px;margin:20px 0 7px}input,textarea,select{width:100%;padding:13px;border:1px solid #d5d3cd;background:white;border-radius:0}textarea{min-height:140px}form{padding:35px;background:#fff}form h3{margin-top:0}details{padding:25px 0;border-bottom:1px solid #d4d3cc}summary{cursor:pointer;font-family:'Barlow Condensed';font-size:27px;text-transform:uppercase}details p{max-width:800px}footer{padding:55px 8%;background:#111415;color:#fff}footer p,footer span{font-size:11px;color:#a4a9a8}footer .brand{font-size:20px}footer .fine{border-top:1px solid #353838;padding-top:25px;margin-top:30px;font-size:10px}#menu{display:none}dialog{border:0;padding:15px;max-width:90vw;background:#fff}dialog img{max-width:80vw;max-height:80vh}dialog button{position:absolute;right:20px;top:20px;font-size:26px;cursor:pointer}.profile-symbol{height:180px;display:grid;place-items:center;background:#e7e4dd;font-size:65px;color:#a5a297;margin:-30px -30px 30px}.form-preview{background:white;padding:40px;max-width:850px;margin:auto}.print-line{height:45px;border-bottom:1px solid #aaa}.hidden{display:none!important}@media(max-width:1100px){nav{gap:13px}header>.button{display:none}}@media(max-width:760px){header{height:82px;padding:0 6%;flex-wrap:wrap;position:relative;z-index:5}#menu{display:block;background:none;border:0;font-size:25px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:20px;flex-wrap:wrap}nav.open{display:flex}nav a{width:calc(50% - 15px)}.hero{min-height:620px}.hero-content{padding:70px 7%}.hero-mark{display:none}.hero-bottom{font-size:8px}.ribbon{grid-template-columns:1fr;gap:18px;padding:25px 7%}.ribbon div{border-bottom:1px solid #eee;padding-bottom:12px}.section{padding:55px 7%}.split{grid-template-columns:1fr;gap:35px}.grid,.gallery{grid-template-columns:1fr}.photo{height:300px}h2{font-size:45px}.page-intro{padding:45px 7%}.page-intro h1{font-size:60px}.cta{display:block;padding:40px 7%}.cta .button{margin-top:25px}.schedule td,.schedule th{padding:13px 9px;font-size:11px}.section-head{display:block}.gallery img{height:320px}form{padding:22px}}@media print{header,footer,.button,.page-intro{display:none}body{background:white}.section{padding:0}}

header .brand{font-size:17px;max-width:460px}header .brand small{font-size:9px;letter-spacing:1.2px;line-height:1.6}nav li{list-style:none}nav .current-menu-item>a{color:var(--red);border-color:var(--red)}.footer-name{font-size:22px;color:white}.skip-link{position:absolute;top:-100px;z-index:99;background:white;padding:15px}.skip-link:focus{top:0}.admin-bar header{scroll-margin-top:32px}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c76b28;outline-offset:4px}@media(max-width:760px){header .brand{font-size:12px;max-width:85%}header .brand small{font-size:8px}nav li{width:calc(50% - 15px)}nav li a{width:auto}.wp-block-html{margin:0}}@media print{body:has(#printable:not(.hidden)) .grid{display:none}#printable{border:0;padding:0}}

/* Club photograph blended with sea and sunset. Bundled locally in the theme. */
.hero:before{background:linear-gradient(90deg,rgba(12,15,16,.68),rgba(12,15,16,.25) 48%,rgba(12,15,16,.02) 75%),url('assets/karate-sunset-hero.png') center 25%/cover no-repeat}
.hero-mark{display:none}
@media(max-width:760px){.hero:before{background:linear-gradient(90deg,rgba(12,15,16,.78),rgba(12,15,16,.46)),url('assets/karate-sunset-hero.png') 72% center/cover no-repeat}}

/* Original club photos remain in color and retain complete compositions. */
.club-gallery img{height:280px;object-fit:contain;background:#e8e5de;filter:none}
.club-page-photo{object-fit:contain;background:#e8e5de;filter:none}
.club-gallery button:hover img{opacity:.9}.club-gallery button{transition:box-shadow .2s}
.club-gallery button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
#viewer{max-width:94vw;padding:10px}#viewer::backdrop{background:rgba(0,0,0,.85)}
#viewer img{display:block;max-width:88vw;max-height:82vh;object-fit:contain}
#viewer .close-viewer{background:white;border:1px solid #aaa;width:38px;height:38px;z-index:2}
#viewer .viewer-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 5px}
#viewer .viewer-tools button{position:static;font-size:14px;padding:8px 14px;border:1px solid #bbb;background:white}
#viewer .viewer-caption{font-size:13px}@media(max-width:760px){.club-gallery img{height:300px}}
.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.locations-grid .class-time{font-size:20px;line-height:1.6}.tuition{border-top:1px solid #deddd7;padding-top:20px}.tuition strong{font-size:34px}.tuition span{color:var(--muted);font-size:12px}.fees-section{padding-top:35px;background:#eeece6}.fees-section th[scope=row]{text-transform:none;letter-spacing:0;color:var(--ink);font-size:13px;font-weight:500}.dojo-etiquette{margin-top:45px;max-width:850px}.dojo-etiquette ul{padding-left:22px;line-height:1.9;color:#d0d0cc;font-size:14px}.dojo-etiquette li{margin-bottom:12px}.dark .number{color:#f08488}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.locations-grid{grid-template-columns:1fr}.locations-grid .actions{align-items:start;flex-direction:column}.fees-section .split{gap:15px}}
.instructor-profile{display:grid;grid-template-columns:minmax(240px,.8fr) 1.4fr;gap:65px;align-items:start;padding:55px 0;border-bottom:1px solid #d7d4cb}.instructor-profile:first-child{padding-top:0}.instructor-profile:last-child{border-bottom:0}.instructor-portrait{background:#e8e5de;padding:12px}.instructor-portrait img{display:block;width:100%;height:auto;max-height:550px;object-fit:contain}.instructor-profile h2{margin:15px 0;font-size:57px}.instructor-rank{font-size:21px;font-weight:700;margin:10px 0}.instructor-experience{color:var(--red);font-size:12px;font-weight:600}.instructor-profile p{margin:15px 0}@media(max-width:760px){.instructor-profile{grid-template-columns:1fr;gap:25px;padding:40px 0}.instructor-portrait{max-width:440px;width:100%;margin:auto}.instructor-profile h2{font-size:45px}}
.about-story{padding-bottom:55px}.about-copy{max-width:950px;margin:auto}.about-copy>p:first-child{font-family:'Barlow Condensed',sans-serif;font-size:37px;line-height:1.1;text-transform:uppercase;margin-bottom:30px}.about-copy p{font-size:16px;line-height:1.95;margin-bottom:24px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.video-embed{position:relative;aspect-ratio:16/9;background:#0c0e0e}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.about-videos .text-link{padding-left:0}@media(max-width:760px){.video-grid{grid-template-columns:1fr}.about-copy p{font-size:14px}}
