/*
Theme Name: Wing Chun Ching Mo
Theme URI: https://www.chingmo.com
Author: Ching Mo Wing Chun
Author URI: https://www.chingmo.com
Description: Fast, SEO-optimised WordPress theme for Wing Chun Kung Fu schools. Full Customizer support, brute-force protection, Events Calendar ready, mobile-first design. Targets 90+ PageSpeed.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wingchun-chingmo
Tags: one-column, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, theme-options, translation-ready, accessibility-ready
*/

/* === Variables === */
:root{--c1:#c8102e;--c1d:#a00d24;--c1l:#e8364d;--c2:#1a1a2e;--ca:#d4af37;--cw:#fff;--g0:#fafafa;--g1:#f5f5f5;--g2:#e5e5e5;--g3:#d4d4d4;--g4:#a3a3a3;--g5:#737373;--g6:#525252;--g7:#404040;--ff:'Inter',system-ui,-apple-system,sans-serif;--fs:Georgia,serif;--fast:.15s ease;--med:.3s ease;--shsm:0 1px 2px rgb(0 0 0/.05);--shlg:0 10px 15px -3px rgb(0 0 0/.1);--shxl:0 20px 25px -5px rgb(0 0 0/.1);--r1:.75rem;--r2:1rem;--r3:1.5rem}

/* === Reset === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--ff);font-size:16px;line-height:1.6;color:var(--c2);background:var(--cw);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--fast)}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}

/* === Typography === */
h1,h2,h3,h4{font-weight:700;line-height:1.2;color:var(--c2)}
h1{font-size:clamp(2.5rem,5vw,4.5rem)}h2{font-size:clamp(1.75rem,4vw,3rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}
p{margin-bottom:1rem}

/* === Layout === */
.wrap{max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.wrap{padding:0 1.5rem}}
@media(min-width:1024px){.wrap{padding:0 2rem}}
.sec{padding:5rem 0}@media(min-width:1024px){.sec{padding:7rem 0}}

/* === Buttons === */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--r2);transition:all var(--med);cursor:pointer;text-decoration:none}
.btn-p{background:var(--c1);color:var(--cw);box-shadow:0 4px 14px rgba(200,16,46,.3)}
.btn-p:hover{background:var(--c1d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,16,46,.4)}
.btn-s{background:rgba(255,255,255,.1);color:var(--cw);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.btn-s:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-w{background:var(--cw);color:var(--c1)}
.btn-w:hover{background:var(--g1);transform:translateY(-2px)}

/* === Label === */
.lbl{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;background:rgba(200,16,46,.05);color:var(--c1)}
.lbl-dot{width:6px;height:6px;border-radius:50%;background:var(--c1)}

/* === Section Header === */
.shdr{text-align:center;max-width:48rem;margin:0 auto 4rem}
.shdr h2{margin-bottom:1rem}
.shdr p{font-size:1.125rem;color:var(--g6);margin-bottom:0}

/* === Animations === */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideL{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideR{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}
.au{animation:fadeUp .6s ease-out both}.al{animation:slideL .6s ease-out both}.ar{animation:slideR .6s ease-out both}
.anim{opacity:0}.anim.vis{opacity:1}
.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.4s}.d5{animation-delay:.5s}
.img-ph{background:linear-gradient(90deg,#f5f5f5 25%,#e8e8e8 50%,#f5f5f5 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}

/* === Accessibility === */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;top:-100px;left:0;background:var(--c1);color:var(--cw);padding:.5rem 1rem;z-index:1000;text-decoration:none}
.skip:focus{top:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c1);outline-offset:2px;border-radius:2px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(hover:hover){::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--c1);border-radius:3px}}

/* === WP core === */
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin:0 auto}
.wp-caption{max-width:100%}.wp-caption-text{font-size:.875rem;color:var(--g5);text-align:center;padding-top:.5rem}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--g1);clip:auto!important;clip-path:none;color:var(--c2);display:block;font-size:.875rem;font-weight:600;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;top:5px;width:auto;z-index:100000}
