/*
Theme Name: Tri-Valley Karate
Theme URI: https://www.trivalleykarate.com/
Author: Tri-Valley Karate
Description: Editable block theme for Tri-Valley Karate in Pleasanton, California.
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: tri-valley-karate
*/

:root { --tvk-navy:#071a2f; --tvk-red:#c41f2e; --tvk-gold:#d7b46a; --tvk-cream:#f8f6f0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { color:#172331; background:#fff; }
a { text-underline-offset:.18em; }
.wp-site-blocks { overflow:hidden; }
.tvk-header { position:relative; z-index:20; box-shadow:0 1px 0 rgba(7,26,47,.12); }
.tvk-brand img { border-radius:50%; }
.tvk-brand-name { letter-spacing:.08em; }
.tvk-affiliation { color:var(--tvk-red); font-weight:700; }
.tvk-nav .wp-block-navigation-item__content { text-decoration:none; font-weight:650; }
.tvk-nav .wp-block-navigation-item__content:hover { color:var(--tvk-red); }
.tvk-button .wp-block-button__link, .wp-element-button { transition:transform .18s ease, box-shadow .18s ease; }
.tvk-button .wp-block-button__link:hover, .wp-element-button:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(7,26,47,.18); }
.tvk-eyebrow { color:var(--tvk-red); font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.tvk-section { padding-top:clamp(3rem,7vw,6rem); padding-bottom:clamp(3rem,7vw,6rem); }
.tvk-card { height:100%; border:1px solid #dedbd3; border-radius:12px; box-shadow:0 8px 28px rgba(7,26,47,.07); overflow:hidden; }
.tvk-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.tvk-hero-slider { position:relative; min-height:680px; display:grid; place-items:center; color:#fff; background:var(--tvk-navy); overflow:hidden; }
.tvk-hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1s ease; }
.tvk-hero-slide.is-active { opacity:1; }
.tvk-hero-slide img { width:100%; height:100%; object-fit:cover; animation:tvk-pan 14s ease-in-out alternate infinite; }
.tvk-hero-slide:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,18,34,.88),rgba(4,18,34,.45) 55%,rgba(4,18,34,.25)); }
.tvk-hero-content { position:relative; z-index:2; width:min(1160px,calc(100% - 2rem)); }
.tvk-hero-content h1 { max-width:830px; font-size:clamp(2.8rem,6vw,5.7rem); line-height:.98; margin:.25em 0; }
.tvk-hero-content p { max-width:680px; font-size:clamp(1.05rem,2vw,1.35rem); }
.tvk-dots { position:absolute; z-index:3; bottom:24px; display:flex; gap:9px; }
.tvk-dot { width:10px; height:10px; border:1px solid #fff; border-radius:50%; background:transparent; padding:0; }
.tvk-dot.is-active { background:#fff; }
@keyframes tvk-pan { from { transform:scale(1.02) translateX(-.5%); } to { transform:scale(1.1) translateX(.8%); } }
.tvk-schedule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tvk-schedule-day { border-top:4px solid var(--tvk-red); background:#fff; padding:1.5rem; box-shadow:0 8px 26px rgba(7,26,47,.08); }
.tvk-profile-grid, .tvk-testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.tvk-profile { display:grid; grid-template-columns:180px 1fr; background:#fff; border:1px solid #dedbd3; border-radius:12px; overflow:hidden; }
.tvk-profile img { width:100%; height:100%; min-height:260px; object-fit:cover; }
.tvk-profile-body, .tvk-testimonial { padding:1.6rem; }
.tvk-badges { display:flex; flex-wrap:wrap; gap:.45rem; margin:.8rem 0; }
.tvk-badge { background:#f0d293; color:#071a2f; padding:.25rem .55rem; border-radius:999px; font-size:.75rem; font-weight:700; }
.tvk-testimonial { background:#fff; border-left:4px solid var(--tvk-gold); box-shadow:0 6px 22px rgba(7,26,47,.07); }
.tvk-stars { color:#b68628; letter-spacing:.12em; }
.tvk-map iframe { width:100%; min-height:300px; border:0; border-radius:10px; }
.tvk-contact-form label { display:block; margin:0 0 1rem; color:var(--tvk-navy); font-weight:700; }
.tvk-contact-form input, .tvk-contact-form textarea, .tvk-contact-form select { width:100%; margin-top:.35rem; padding:.8rem; border:1px solid #bdc8d2; border-radius:4px; font:inherit; background:#fff; }
.tvk-contact-form textarea { min-height:150px; resize:vertical; }
.tvk-contact-form button { border:0; cursor:pointer; }
.tvk-notice { padding:1rem; border-left:4px solid var(--tvk-red); background:#f8f6f0; }
.tvk-zen-calendar { min-height:620px; background:#fff; }
.tvk-faq details { border-bottom:1px solid #d9d6ce; padding:1rem 0; }
.tvk-faq summary { cursor:pointer; color:var(--tvk-navy); font-weight:750; font-size:1.1rem; }
.tvk-footer a { color:inherit; }
@media (max-width:782px) {
  .tvk-hero-slider { min-height:620px; }
  .tvk-schedule-grid, .tvk-profile-grid, .tvk-testimonial-grid { grid-template-columns:1fr; }
  .tvk-profile { grid-template-columns:1fr; }
  .tvk-profile img { height:320px; }
  .tvk-header .wp-block-buttons { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .tvk-hero-slide img { animation:none; } * { transition-duration:.01ms!important; } }
