/* Toyama HOME event + column presentation. Feed and publication gates stay in their existing scripts. */
:root{--home-feature-pink:#e74f78;--home-feature-line:#f5d7dd;--home-feature-yellow:#ffe9a1;--home-feature-paper:#fffcf9;--home-feature-shadow:0 6px 17px #a8546b1c}
.home-events,.home-columns{box-sizing:border-box;position:relative;left:auto;transform:none;width:100%;max-width:430px;margin:0 auto;padding:24px 0 22px;background:var(--home-feature-paper);color:#333;overflow:hidden;border-radius:0}
.home-events *,.home-columns *{box-sizing:border-box}
.home-events{margin-top:0;padding-top:32px;padding-bottom:28px}
.home-columns{border-top:0;margin-top:0;padding-top:32px;padding-bottom:34px}
/* The published HOME wrapper is 430px wide. Do not let the older desktop column rule escape it. */
@media(min-width:900px){.phone-app:has(.home-screen){overflow:clip}.phone-app .home-columns{left:auto;transform:none;width:100%;max-width:430px;padding:32px 0 34px}.phone-app .home-columns-card{flex-basis:min(82%,350px)}}
.home-events-head,.home-columns-heading{display:block;padding:0 18px 20px;margin:0}
.event-eyebrow,.home-columns-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 3px;color:#c7345b;font-size:13px;line-height:1.4;font-weight:800;letter-spacing:0}
.event-eyebrow .event-icon,.home-columns-eyebrow svg{display:block;width:21px;height:21px;color:var(--home-feature-pink);flex:none}
.home-events h2,.home-columns-heading h2{display:inline-block;position:relative;z-index:0;max-width:100%;margin:0;color:#252525;font-size:24px;line-height:1.4;letter-spacing:-.025em;font-weight:850;text-align:left;text-wrap:balance;overflow-wrap:anywhere}
.home-heading-phrase{display:inline-block}
.home-events h2:after,.home-columns-heading h2:after{content:"";position:absolute;z-index:-1;left:var(--home-marker-left,0px);top:var(--home-marker-top,auto);width:var(--home-marker-width,0px);height:9px;border-radius:99px;background:var(--home-feature-yellow);transform:rotate(-1deg)}
.home-feature-caption{margin:4px 0 0;color:#6b5a56;font-size:12px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.event-carousel,.home-columns-track{display:flex;gap:12px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scroll-padding-inline:17px;padding:3px 17px 13px;scrollbar-width:none}
.event-carousel::-webkit-scrollbar,.home-columns-track::-webkit-scrollbar{display:none}
.home-events .event-card,.home-columns-card{display:flex;flex-direction:column;flex:0 0 min(82%,350px);min-width:0;scroll-snap-align:start;overflow:hidden;border:1px solid var(--home-feature-line);border-radius:20px;background:#fff;box-shadow:var(--home-feature-shadow)}
.event-card-media,.home-columns-card-media{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#fff4ef}
.home-events .event-card-image,.home-columns-card-media img{display:block;width:100%;height:100%;object-position:center}
.home-events .event-card-image{object-fit:cover}
.home-columns-card-media img{object-fit:contain}
.event-card-category,.home-columns-category{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:5px 10px;border:0;border-radius:99px;background:#e95c82;color:#fff;font-size:11px;line-height:1.2;font-weight:800;box-shadow:0 2px 8px #94384c38}
.home-columns-category:before{content:"";display:block;width:13px;height:13px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6C9 4 6 4 3 5v14c3-1 6-1 9 1 3-2 6-2 9-1V5c-3-1-6-1-9 1zm0 0v14' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.home-events .event-card-body{padding:11px 13px 14px;gap:7px}
.home-events .event-card-name{font-size:17px;line-height:1.4;-webkit-line-clamp:3;min-height:2.8em}
.home-events .event-card-timing{background:#fff6f5}
.home-events .event-card-caution{background:#fff0f2}
.home-events .event-detail-button{margin-top:auto}
.home-columns-card{color:#333;text-decoration:none}
.home-columns-card-copy{display:flex;flex-direction:column;flex:1;gap:7px;padding:11px 13px 14px}
.home-columns-card strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.2em;font-size:16px;line-height:1.4;font-weight:800;overflow-wrap:anywhere}
.home-columns-card time{display:flex;align-items:center;gap:5px;margin-top:auto;color:#5e5755;font-size:11px;line-height:1.4}
.home-columns-card time svg{width:15px;height:15px;flex:none;color:var(--home-feature-pink)}
.home-columns-controls{position:absolute;right:15px;top:22px;gap:3px;margin:0;opacity:0;pointer-events:none}
.home-columns-controls:focus-within{opacity:1;pointer-events:auto}
.home-columns-arrow{width:36px;height:36px}
.home-carousel-dots{display:flex;align-items:center;justify-content:center;gap:7px;min-height:22px;margin:2px 0 12px}
.home-carousel-dot{display:block;flex:none;width:8px;height:8px;min-width:8px;min-height:8px;padding:0;border:0;border-radius:99px;background:#f7d7de;cursor:pointer}
.home-carousel-dot[aria-current="true"]{width:10px;height:10px;background:var(--home-feature-pink)}
.home-carousel-dot:focus-visible{outline:2px solid #bd3156;outline-offset:3px}
.home-events-more,.home-columns-more{display:flex;align-items:center;justify-content:center;gap:9px;width:calc(100% - 52px);max-width:338px;min-height:48px;margin:0 auto;padding:9px 17px;border:1.5px solid var(--home-feature-pink);border-radius:99px;background:#fff;color:#c92f58;text-align:center;text-decoration:none;font-size:13px;line-height:1.4;font-weight:800;white-space:normal}
.home-events-more .event-icon,.home-columns-more svg{width:18px;height:18px;flex:none}
.home-events-more:hover,.home-columns-more:hover{background:#fff0f3}
.home-columns-status{margin:0 17px 12px}
@media(max-width:350px){.home-events h2,.home-columns-heading h2{font-size:21px}.home-events .event-card,.home-columns-card{flex-basis:84%}.home-events .event-card-name,.home-columns-card strong{font-size:15px}.home-events-more,.home-columns-more{width:calc(100% - 44px)}}
@media(prefers-reduced-motion:reduce){.event-carousel,.home-columns-track{scroll-behavior:auto}}
