:root{--event-pink:#f16e83;--event-ink:#333;--event-muted:#6d6865;--event-paper:#fffdf9}
.home-events{box-sizing:border-box;width:100%;max-width:430px;margin:20px auto 28px;padding:19px 0 12px;background:#fffaf5;border-radius:18px;overflow:hidden;color:#333}
.home-events *{box-sizing:border-box}
.home-events-head{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:8px;padding:0 17px 9px}
.event-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 3px;color:#c93660;font-size:13px;font-weight:800;letter-spacing:.02em}
.event-eyebrow .event-icon{width:23px;height:23px;color:#ffca37}
.home-events h2{display:inline-block;position:relative;z-index:0;margin:0;font-size:29px;line-height:1.35;letter-spacing:.02em;color:#333;font-weight:850}
.home-events h2::after{content:"";position:absolute;z-index:-1;left:1%;right:0;bottom:3px;height:10px;background:#ffeaaa;border-radius:99px;transform:rotate(-1deg)}
.home-events-more{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 11px;border:2px solid #f16e83;border-radius:999px;color:#ca315c;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;background:#fff9f8}
.home-events-more:hover,.home-events-more:focus-visible{background:#fff0f3}
.event-icon{display:inline-flex;flex:none;width:20px;height:20px;align-items:center;justify-content:center;vertical-align:middle}
.event-icon svg{width:100%;height:100%;display:block}
.home-events-more .event-icon:last-child{width:17px;height:17px}
.event-carousel{display:flex;gap:12px;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:2px 17px 10px;scrollbar-width:thin;scrollbar-color:#f6c5ce transparent}
.event-carousel::-webkit-scrollbar{height:6px}.event-carousel::-webkit-scrollbar-thumb{background:#f6c5ce;border-radius:99px}
.home-events .event-card{display:flex;flex-direction:column;flex:0 0 min(82%,350px);min-width:0;scroll-snap-align:start;overflow:hidden;padding:0;border:1px solid #f4d7d7;border-radius:20px;background:#fff;box-shadow:0 8px 22px #c9828b19}
.event-card-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#fff0e7}
.home-events .event-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.event-image-empty{display:grid;place-items:center;width:100%;height:100%;color:#9c7b79;font-size:14px;background:linear-gradient(135deg,#fff7ed,#ffeef1)}
.event-card-category{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;color:#fff;background:#ed5f80;font-size:11px;font-weight:800;box-shadow:0 3px 12px #8e41543d}
.event-card-category .event-icon{width:17px;height:17px}
.event-ai-note{display:block;padding:2px 11px 0;text-align:right;color:#584d49;font-size:10px;line-height:1.4}
.event-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:11px 12px 12px;gap:6px}
.event-card-timing{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;padding:6px 7px;border-radius:12px;background:#fff6f4;font-size:11.5px;font-weight:700;white-space:nowrap}
.home-events .event-date,.home-events .event-time,.home-events .event-card-place,.home-events .event-card-price{display:flex;align-items:flex-start;gap:5px;min-width:0;line-height:1.5}
.home-events .event-date .event-icon,.home-events .event-time .event-icon{width:16px;height:16px;color:#e84f76}
.home-events .event-card-place .event-icon,.home-events .event-card-price .event-icon{width:17px;height:17px;color:#e84f76}
.home-events .event-card-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;font-size:16px;line-height:1.42;font-weight:800;overflow-wrap:anywhere;line-break:strict;text-wrap:pretty}
.home-events .event-card-place,.home-events .event-card-price{font-size:12.5px;color:#514b48}
.home-events .event-card-place span:last-child,.home-events .event-card-price span:last-child{min-width:0;overflow-wrap:anywhere}
.home-events .event-card-caution{display:flex;gap:6px;align-items:flex-start;margin:0;padding:6px 7px;border-radius:11px;background:#fff0ef;color:#5f5051;font-size:11px;line-height:1.4}
.event-card-caution .event-icon{width:16px;height:16px;color:#e84f76}
.event-detail-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:auto;padding:8px;border:2px solid #f16e83;border-radius:999px;color:#c8325b;background:#fff;text-decoration:none;font-size:13px;font-weight:800}
.event-detail-button:hover,.event-detail-button:focus-visible{background:#f16e83;color:#fff}
.event-detail-button .event-icon{width:17px;height:17px}
.event-page{max-width:780px;margin:0 auto;padding:16px 18px 48px;background:#fffdf9;min-height:100dvh}
.event-page header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 18px}
.event-page header a{font-size:12px;color:#ad4f67}
.event-page h1{font-size:25px;line-height:1.45;margin:8px 0 16px}
.event-page .event-lead{font-size:13px;color:#655c58;line-height:1.8}
.event-page-list{display:grid;gap:13px;margin:18px 0}
.event-page-list .event-card{box-sizing:border-box;width:100%;max-width:none;min-width:0;border:1px solid #eee2dc;background:#fff;border-radius:17px;padding:15px;box-shadow:0 3px 12px #80635110}
.event-page-list .event-card-date{font-size:11px;color:#ac5269;font-weight:700;margin:0 0 4px}
.event-page-list .event-card h3{font-size:15px;line-height:1.5;margin:0 0 7px}
.event-page-list .event-card p{font-size:11px;line-height:1.6;margin:4px 0;color:#56504b}
.event-page-list .event-card .event-card-place{color:#7a6962}
.event-page-list .event-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.event-page-list .event-card-actions a{font-size:11px;color:#bd4d67;text-decoration:underline;text-underline-offset:2px}
.event-page .event-card-image{display:block;width:100%;height:120px;object-fit:cover;border-radius:10px;margin:0 0 10px}
.event-page .event-image-note{display:block;margin:-6px 0 10px;text-align:right;color:#6b6260;font-size:10px;line-height:1.4}
.event-detail-card{background:#fff;border:1px solid #eee2dc;border-radius:18px;padding:18px;margin:12px 0}
.event-detail-card dl{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;font-size:12px;line-height:1.7}
.event-detail-card dt{font-weight:700;color:#665d59}.event-detail-card dd{margin:0}
.event-detail-card a{color:#b44763;text-decoration:underline;overflow-wrap:anywhere}
.event-status{display:inline-block;background:#fff0f3;color:#a54460;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700}
.event-empty{padding:20px;border:1px dashed #d8c9c3;border-radius:14px;color:#625b56;font-size:13px}
@media(min-width:700px){.event-page-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.home-events .event-card{flex-basis:88%}.home-events .event-card-body{padding-inline:9px}.home-events .event-card-timing{gap:3px;padding-inline:5px;font-size:10.5px}.home-events .event-card-timing .event-icon{width:14px;height:14px}.event-detail-card dl{grid-template-columns:1fr}.event-detail-card dt{margin-top:8px}}

