/* ISAN Karate theme — WordPress integration styles (loads after theme.css) */

/* Buttons */
.cta-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);cursor:pointer;text-decoration:none;border-radius:3px;font-weight:600}
.cta-button:hover,.button:hover{filter:brightness(1.1)}
.cta-button.outline,.button.outline{background:transparent;color:var(--foreground);border:1px solid var(--border)}
.cta-button.bg-background{background:color-mix(in oklch,var(--background) 45%,transparent);color:var(--foreground);border-color:var(--border)}
.button-icon{width:44px;height:44px;padding:0;display:inline-grid;place-items:center;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:3px;cursor:pointer}
.header-cta{height:39px;padding-inline:16px;font-size:16px}
.mobile-menu-button{background:var(--background);border:1px solid var(--border);color:var(--foreground);height:39px;padding:0 14px;border-radius:3px;cursor:pointer;font-size:16px;align-items:center;gap:8px}
button.belt-option,button.album-photo,button.photo-folder,button.nav-trigger,button.timeline-tabs button{border:0;cursor:pointer;font:inherit}
.belt-option{border:0;cursor:pointer;background:transparent;font:inherit;color:var(--muted-foreground)}
.album-photo{border:0;cursor:pointer}
.photo-folder{cursor:pointer}
.nav-trigger{background:transparent;border:0;cursor:pointer;color:var(--foreground)}
.timeline-tabs button{background:transparent;border:0;cursor:pointer;color:var(--muted-foreground);font:inherit}
.review-controls .button-icon{width:40px;height:40px}

/* Navigation dropdown behavior */
.nav-dropdown{display:none}
.nav-menu:hover>.nav-dropdown,.nav-menu:focus-within>.nav-dropdown,.nav-menu.open>.nav-dropdown{display:block}
.nav-menu.open>.nav-trigger{color:var(--gold)}
.nav-trigger svg{transition:transform .25s}
.nav-menu.open>.nav-trigger svg{transform:rotate(180deg)}

/* Progressive enhancement states */
.karate-album{display:none}
.karate-album.open{display:block;animation:album-reveal .65s ease both}
.lightbox{display:none}
.lightbox.open{display:grid}
.review-slide[hidden]{display:none}
.timeline-story[hidden]{display:none}

/* Helpers */
.text-gold{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--background);padding:10px 16px;z-index:999;border-radius:0 0 3px 0}
.skip-link:focus{left:0;top:0}

/* Event badges and notices */
.event-badge{font-size:14px;letter-spacing:1px;color:var(--gold);border:1px solid var(--border);padding:2px 9px;border-radius:3px;display:inline-block;text-transform:uppercase}
.form-notice{padding:14px;margin-bottom:18px;border-radius:3px;font-size:16px}
.form-notice.success{color:var(--belt-green);border:1px solid var(--belt-green)}
.form-notice.error{color:var(--primary);border:1px solid var(--primary)}

/* Search */
input[type=search]{background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:8px 12px;border-radius:3px;font-size:16px}

/* WordPress core content styles */
.entry-content img{max-width:100%;height:auto}
.entry-content ul,.entry-content ol{margin:0 0 25px 22px;color:var(--muted-foreground);line-height:1.9}
.entry-content li{margin-bottom:8px}
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{display:block;margin:0 auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:14px;color:var(--muted-foreground);padding-top:6px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.sticky .article-card h3{color:var(--gold)}
nav.pagination{display:flex;gap:10px;padding:40px 0}
nav.pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--border);border-radius:3px;color:var(--muted-foreground)}
nav.pagination .page-numbers.current{color:var(--gold);border-color:var(--gold)}
nav.pagination a.page-numbers:hover{color:var(--foreground)}

/* Forms inside the agenda/editor area */
.event-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 15px}
.event-form input,.event-form select,.event-form textarea{width:100%;background:var(--card);border:1px solid var(--border);padding:12px;font-size:16px;border-radius:3px;color:var(--foreground)}
.event-form label{font-size:16px;display:flex;flex-direction:column;gap:8px}
.event-form .full{grid-column:1/-1}
@media(max-width:600px){.event-form .form-grid label{grid-column:1/-1}}

/* Icon safety: inline icons keep their own size */
svg[width][height]{flex:none}
.map-caption svg,.text-link svg,.cta-button svg,.button svg,.header-cta svg{width:auto;height:auto;max-width:24px;max-height:24px;flex:none}
body{font-family:'Manrope',sans-serif}

/* Anthem button */
.anthem-control{position:fixed;right:116px;bottom:28px;z-index:60}
.anthem-control .cta-button{height:44px;padding:0 18px;font-size:14px;background:var(--background)}

/* Mobile fixes */
@media (max-width:860px){
 .site-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
 .header-actions{display:flex;align-items:center;gap:8px;flex:none}
 .header-cta{display:none!important}
 .mobile-menu-button{display:inline-flex!important}
 .brand{min-width:0}
 .brand small{display:none}
 .topline{font-size:11px;gap:10px}
 .topline a{white-space:nowrap}
 .anthem-control{right:12px;bottom:84px}
 .tiger-avatar{display:none}
 .anthem-control .cta-button{height:40px;padding:0 14px;font-size:13px}
 body{padding-bottom:64px}
 .main-nav.open .nav-menu{display:block;width:100%}
 .main-nav.open .nav-trigger{display:flex;width:100%;justify-content:space-between;align-items:center;padding:12px 0;text-align:left;font-size:18px;color:var(--foreground);background:transparent}
 .main-nav.open .nav-trigger svg{width:16px;height:16px}
 .main-nav.open .nav-dropdown{position:static;box-shadow:none;border:0;padding:0 0 8px 14px;background:transparent;width:auto;min-width:0}
 .anthem-control{bottom:80px}
 .anthem-control .cta-button{height:34px;padding:0 12px;font-size:12px;opacity:.92}
}

/* ===== v3: readable type, calmer rhythm ===== */
body{font-size:19px;line-height:1.65}
main p,.section-inner p,.wiki-body p,.page-intro p{font-size:clamp(18px,1.25vw,21px);line-height:1.7}
.section-label,.small-label,.eyebrow{font-size:15px!important;letter-spacing:.14em}
.program-card p,.card p,.testimonial p,.journal-card p{font-size:18px!important}
.program-card h3,.journal-card h3{font-size:clamp(28px,2.4vw,36px)}
.btn,.button,button.btn,.site-nav a{font-size:17px}
.footer p,.footer a,.site-footer a,.site-footer p{font-size:17px}
section.section-inner,.section-inner>section{scroll-margin-top:110px}
.section-inner h2{margin-bottom:.5em}
.page-intro{padding-bottom:40px}
.page-intro p{max-width:46ch}
/* belt journey */
.belt-option span:first-child{font-size:18px;font-weight:800;letter-spacing:.06em}
.belt-detail{grid-template-columns:1fr 1.6fr auto;align-items:start;gap:40px;padding-top:40px}
.belt-detail h3{font-size:clamp(44px,5vw,72px)}
.belt-detail #belt-quality{font-size:24px;color:var(--gold)}
#belt-story{font-size:clamp(20px,1.6vw,24px)!important;line-height:1.6;margin:12px 0 18px!important}
.belt-focus-line{font-size:19px!important}.belt-note{font-size:16px!important;color:var(--muted-foreground);margin-top:12px!important}
.belt-pop{animation:beltpop .45s ease}
@keyframes beltpop{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:860px){.belt-detail{grid-template-columns:1fr;gap:20px}}
/* FAQ */
.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding-top:90px;padding-bottom:90px}
.faq-head h2{font-size:clamp(40px,5vw,72px);line-height:1}
.faq-list summary{font-size:clamp(19px,1.5vw,23px)!important;font-weight:700}
.faq-list summary span{font-size:28px!important;transition:transform .3s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list p{font-size:19px!important}
@media(max-width:860px){.faq-section{grid-template-columns:1fr;gap:24px;padding-top:60px;padding-bottom:60px}}
/* founder ranks */
.wiki-ranks,.wiki-orgs{list-style:none;padding:0;margin:0}
.wiki-ranks li{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--border);font-size:19px}
.wiki-ranks strong{color:var(--gold);font-family:var(--font-display);font-size:24px}
.wiki-orgs li{padding:10px 0 10px 22px;border-top:1px solid var(--border);font-size:19px;position:relative}
.wiki-orgs li:before{content:"";position:absolute;left:0;top:22px;width:9px;height:9px;background:var(--primary)}
.wiki-sidebar dd,.wiki-sidebar dt,.wiki-sidebar nav a{font-size:17px}
/* gallery prints must clear the folder */
.folder-photos{overflow:visible}
.photo-folder{overflow:visible}

/* v1.0.5 — belt row: no inner scrollbar */
.belt-track{overflow:visible !important;padding-top:48px;padding-bottom:40px}
.belt-option{height:auto !important;min-height:150px;overflow:visible}
@media (max-width:860px){
  .belt-track{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:24px 10px}
  .belt-option{min-width:0 !important;min-height:120px}
  .realistic-belt{transform:scale(.85) rotate(-3deg)}
}

/* Founder cut-out portrait */
.founder-portrait{background:radial-gradient(ellipse at 50% 60%,color-mix(in oklch,var(--gold) 22%,transparent),transparent 70%) !important;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.founder-portrait>img{object-fit:contain !important;object-position:center bottom;filter:none !important}
.wiki-sidebar img{background:radial-gradient(ellipse at 50% 60%,color-mix(in oklch,var(--gold) 22%,transparent),transparent 70%);filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}

/* Kanji panel replacing the old USA–Japan map */
.legacy-kanji{display:flex;align-items:center;justify-content:center;min-height:320px;font-size:clamp(90px,12vw,190px);line-height:1;font-weight:900;writing-mode:vertical-rl;letter-spacing:.08em;color:transparent;-webkit-text-stroke:1.5px color-mix(in oklch,var(--gold) 70%,transparent);opacity:.85}
@media(max-width:860px){.legacy-kanji{writing-mode:horizontal-tb;min-height:180px;font-size:84px}}
