/* Awara Sandbox Events 0.1.0 — 全ルールをasb-events配下に限定。 */
.asb-events{--asb-ink:#11141a;--asb-muted:#5e626b;--asb-gold:#a67b36;--asb-line:#e5dfd3;--asb-surface:#fff;max-width:1120px;margin-inline:auto;padding:clamp(24px,4vw,60px) 18px;color:var(--asb-ink);font-family:inherit;line-height:1.72}
.asb-events *{box-sizing:border-box}
.asb-events a{color:inherit}
.asb-events__eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.22em;color:var(--asb-gold);margin:0 0 6px}
.asb-events__heading{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 24px;font-weight:850}
.asb-events__title{font-size:clamp(2rem,5vw,3.6rem);line-height:1.26;letter-spacing:-.025em;max-width:18em}
.asb-events__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.asb-events__card{background:var(--asb-surface);border:1px solid var(--asb-line);border-radius:3px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.045);min-width:0}
.asb-events__card--lead{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);background:#171a21;color:#fff;border:0;min-height:280px}
.asb-events__card-body{padding:clamp(18px,3vw,32px)}
.asb-events__image-link{display:block;min-height:180px;height:100%;background:#2b2b2b}
.asb-events__image{height:100%;width:100%;object-fit:cover;aspect-ratio:16/9;display:block}
.asb-events__badge{display:inline-block;background:#ead7b6;color:#32250f;border-radius:99px;padding:4px 12px;font-size:.78rem;font-weight:750;margin:0 0 12px;line-height:1.6}
.asb-events__card-title{font-size:clamp(1.22rem,2.2vw,1.7rem);line-height:1.38;margin:0 0 20px;overflow-wrap:anywhere}
.asb-events__card-title a{text-decoration:none}
.asb-events__card-title a:hover,.asb-events__card-title a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.asb-events__facts{margin:0 0 22px;font-size:.94rem}
.asb-events__facts>div{display:grid;grid-template-columns:4.5em 1fr;gap:12px;border-bottom:1px solid var(--asb-line);padding:9px 0}
.asb-events__card--lead .asb-events__facts>div{border-color:#3e4248}
.asb-events__facts dt{font-weight:750}
.asb-events__facts dd{margin:0;overflow-wrap:anywhere}
.asb-events__excerpt{color:var(--asb-muted);margin:0 0 16px;font-size:.92rem}
.asb-events__card--lead .asb-events__excerpt{color:#d1d0cc}
.asb-events__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.asb-events__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:2px solid var(--asb-gold);background:var(--asb-gold);color:#fff!important;text-decoration:none!important;font-weight:750;font-size:.91rem;min-height:44px;text-align:center;transition:background-color .12s ease,color .12s ease}
.asb-events__button--outline{background:transparent;color:var(--asb-gold)!important}
.asb-events__button:hover,.asb-events__button:focus-visible{background:#8d632b;border-color:#8d632b;color:#fff!important}
.asb-events__button:focus-visible,.asb-events a:focus-visible{outline:3px solid #2078da;outline-offset:3px}
.asb-events__empty{background:#f8f5f0;border-left:4px solid var(--asb-gold);padding:18px 22px;margin-top:16px}
.asb-events__muted{font-size:.9rem;color:var(--asb-muted)}
.asb-events__important{background:#fff2e8;border-left:4px solid #b84b16;padding:16px 20px;margin:18px 0}
.asb-event-single{max-width:900px}
.asb-events__hero-image{margin:26px 0}
.asb-events__hero-image img{width:100%;height:auto;max-height:600px;object-fit:cover;display:block}
.asb-events__body{font-size:1rem;line-height:1.85;margin:38px 0}
.asb-events__related{border-top:1px solid var(--asb-line);padding-top:24px;margin-top:36px}
.asb-events__related h2{font-size:1.5rem}
.asb-events__related li{padding:6px 0}
@media(max-width:850px){.asb-events__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asb-events__card--lead{grid-template-columns:1fr}}
@media(max-width:620px){.asb-events{padding:30px 14px}.asb-events__grid{grid-template-columns:1fr}.asb-events__card--lead{display:block}.asb-events__card-body{padding:20px}.asb-events__button{width:100%}.asb-events__actions{display:grid;grid-template-columns:1fr}.asb-events__facts>div{grid-template-columns:4em 1fr}}
@media(prefers-reduced-motion:reduce){.asb-events *{transition:none!important;animation:none!important}}

.asb-events__card--lead.asb-events__card--no-image{display:block;min-height:0;max-width:790px}
