/*
Theme Name: Senpoku
Theme URI: https://example.com/
Author: Senpoku Kanpoku
Description: Original responsive WordPress theme for Senpoku Kanpoku.
Version: 0.9.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: senpoku
*/
:root{--paper:#f8f6f0;--ink:#242424;--muted:#6c6a64;--coral:#ff6b55;--lime:#d9e96b;--line:#dedbd2;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans JP",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--coral)}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:22px clamp(20px,5vw,72px);border-bottom:1px solid var(--line)}.site-logo{font-weight:900;letter-spacing:.08em;font-size:1.05rem}.custom-logo{max-height:56px;width:auto}.main-nav ul{list-style:none;display:flex;gap:clamp(12px,2vw,30px);padding:0;margin:0;flex-wrap:wrap}.main-nav a{font-size:.78rem;font-weight:700;letter-spacing:.08em}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.hero{padding:clamp(50px,9vw,130px) 0 70px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,7vw,6.5rem);line-height:.98;letter-spacing:-.06em;margin:14px 0 24px}h2{font-size:clamp(1.8rem,4vw,3.2rem);letter-spacing:-.045em;line-height:1.1}.hero-copy{max-width:640px;font-size:1.05rem;color:var(--muted)}.hero-art{margin-top:40px;min-height:250px;background:var(--lime);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art img{width:100%;max-height:520px;object-fit:cover}.hero-placeholder{padding:60px 20px;text-align:center;font-size:clamp(2rem,8vw,7rem);font-weight:900;letter-spacing:-.07em;transform:rotate(-3deg)}.section{padding:70px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-head h2{margin:0}.more-link,.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.05em}.button{background:var(--ink);color:white}.button:hover{background:var(--coral);color:var(--ink);border-color:var(--coral)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{min-width:0}.card-image{aspect-ratio:4/3;background:#e9e5db;overflow:hidden;margin-bottom:14px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card a:hover .card-image img{transform:scale(1.03)}.card-date,.meta{font-size:.78rem;color:var(--muted)}.card-title{font-size:1.15rem;font-weight:800;line-height:1.35;margin:5px 0}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.video-frame{aspect-ratio:16/9;background:#e9e5db}.video-frame iframe{width:100%;height:100%;border:0}.release-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.release-cover{aspect-ratio:1;background:#e9e5db;margin-bottom:12px;overflow:hidden}.release-cover img{width:100%;height:100%;object-fit:cover}.site-footer{margin-top:50px;background:var(--ink);color:var(--paper);padding:50px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-nav{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem}.page-intro{padding:65px 0 35px}.page-intro h1{font-size:clamp(2.5rem,6vw,5rem)}.content{max-width:820px}.entry-content{line-height:1.9}.live-row{display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0,1.2fr);gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.live-poster{background:#e9e5db;aspect-ratio:3/4}.live-poster img{width:100%;height:100%;object-fit:cover}.live-details dl{display:grid;grid-template-columns:100px 1fr;gap:8px 14px;margin:20px 0}.live-details dt{font-size:.76rem;font-weight:800;letter-spacing:.08em}.live-details dd{margin:0}.entry-content img{height:auto}.form-grid{display:grid;gap:16px;max-width:700px}.form-grid label{display:grid;gap:6px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);padding:12px;background:#fff}.form-grid textarea{min-height:150px}.notice{padding:14px;background:#e8edcf;margin:20px 0}.pagination{margin:35px 0}.alignwide{max-width:var(--max)}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column;gap:14px}.main-nav ul{gap:12px}.main-nav a{font-size:.7rem}.card-grid,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.release-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.live-row{grid-template-columns:1fr;gap:18px}.live-poster{max-width:360px}.section{padding:48px 0}.hero{padding-top:60px}}@media(max-width:420px){.card-grid,.video-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}

.live-list{border-top:1px solid var(--line)}
.live-list-item{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.live-list-date{font-size:.95rem;color:var(--muted);font-variant-numeric:tabular-nums}
.live-list-title{margin:0;font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.35}
.live-list-title a:hover{color:var(--coral)}
.live-detail-link{font-size:.72rem;font-weight:800;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
@media(max-width:650px){.live-list-item{grid-template-columns:1fr auto;gap:8px 14px}.live-list-date{grid-column:1/-1}.live-list-title{grid-column:1}.live-detail-link{grid-column:2;grid-row:2}}

.live-list-item{grid-template-columns:minmax(160px,.45fr) minmax(0,1fr)}
@media(max-width:650px){.live-list-item{grid-template-columns:1fr}.live-list-date,.live-list-title{grid-column:1}.live-list-title{grid-row:auto}}
.ticket-order-section{scroll-margin-top:32px;border-top:1px solid var(--line)}.ticket-order-section h2{margin-bottom:16px}.ticket-order-form{margin-top:28px}.ticket-order-form .required{font-size:.7em;color:var(--coral);margin-left:.35em}

.live-flyer-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.live-flyer-gallery .live-flyer-image{width:100%;height:auto;object-fit:contain;align-self:start}.live-poster:has(.live-flyer-gallery){aspect-ratio:auto;background:transparent}.live-poster:has(.live-flyer-gallery) .live-flyer-gallery{width:100%}@media(max-width:760px){.live-flyer-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* Header logo and social profile links */
.site-header{flex-wrap:wrap}
.site-logo{display:inline-flex;align-items:center;flex:0 0 auto;max-width:min(300px,35vw)}
.site-logo-image{display:block;width:100%;max-width:300px;height:auto;max-height:none}
.social-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.social-links a{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
.social-links-header{margin-left:auto}
.social-links-footer{flex-basis:100%;padding-top:14px;border-top:1px solid rgba(255,255,255,.2)}
.ticket-confirmation h1{font-size:clamp(2rem,3.2vw,3.55rem);line-height:1.12;letter-spacing:-.035em;white-space:nowrap;margin-bottom:24px}
.ticket-confirmation-details{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:24px 0}
.ticket-confirmation-details dt{font-weight:700}
.ticket-confirmation-details dd{margin:0}
.senpoku-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.site-logo{max-width:260px}.social-links-header{margin-left:0}.ticket-confirmation h1{white-space:normal;font-size:clamp(2rem,7vw,3rem)}}
