/* City event guides: a quiet reading space with official-source date cards. */
body.eac-city-events #content{background:#fffdfb}
body.eac-city-events #content .eac-wide-hero{min-height:340px;margin-bottom:0}
body.eac-city-events #content .eac-wide-hero-photo::after{background:linear-gradient(90deg,#2b273d88,#2b273d05)}
body.eac-city-events #content .eac-wide-hero-copy{padding-top:50px;padding-bottom:50px}
.ece-guide{--ece-ink:#423842;--ece-rose:#a75065;--ece-border:#eadbdc;color:var(--ece-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.9;letter-spacing:.035em;padding:0 clamp(20px,4vw,60px) 64px}
.ece-guide *{box-sizing:border-box}
#content .ece-guide h2,#content .ece-guide h3,#content .ece-guide p{margin:0;padding:0;background:none;border:0;box-shadow:none;text-align:left;color:inherit}
#content .ece-guide h2::before,#content .ece-guide h2::after,#content .ece-guide h3::before,#content .ece-guide h3::after{content:none}
#content .ece-guide h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(23px,2.5vw,31px);font-weight:600;line-height:1.65;letter-spacing:.045em}
#content .ece-guide h3{font-size:18px;font-weight:600;line-height:1.65}
#content .ece-guide p{font-size:14px}
#content .ece-guide .ece-eyebrow{font:11px/1.6 Georgia,serif;letter-spacing:.19em;color:var(--ece-rose);margin-bottom:12px}
#content .ece-intro{padding:48px 0 30px}
#content .ece-intro h2{font-size:clamp(27px,3vw,38px);margin-bottom:18px}
#content .ece-intro .ece-reviewed{font-size:12px;color:#756871;margin-top:22px}
.ece-mobile-break{display:none}
.ece-jumps{display:flex;gap:12px;margin:0 0 22px}
.ece-jumps a{flex:1;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ece-ink);padding:16px 14px;min-height:58px;border:1px solid var(--ece-border);border-radius:12px;background:#fff;font-size:13px;font-weight:600}
.ece-jumps a>span{font:italic 19px Georgia,serif;color:var(--ece-rose)}
.ece-jumps b{margin-left:auto;color:var(--ece-rose)}
#content .ece-guide .ece-notice{font-size:12px;color:#756871;padding:14px 18px;border-radius:10px;background:#f7f2f1}
.ece-section{padding:44px 0 0}
.ece-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.ece-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 14px;border-radius:30px;background:#f8e9ed;color:#955467;font-size:12px}
.ece-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ece-card{min-width:0;display:flex;flex-direction:column;position:relative;padding:26px;border:1px solid var(--ece-border);border-radius:18px;background:#fff;box-shadow:0 6px 24px #4e293305}
.ece-card .ece-photo{margin:-26px -26px 20px;padding:0;border-radius:17px 17px 0 0;overflow:hidden;background:#faf6f3}
.ece-card .ece-photo img{display:block;width:100%;max-width:none;height:auto;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
.ece-card .ece-photo figcaption{padding:12px 26px 10px;font-size:10px;line-height:1.7;letter-spacing:.015em;color:#75646b;text-align:left;overflow-wrap:anywhere}
.ece-photo figcaption>span{display:block}
.ece-photo .ece-photo-caption{font-size:11px;color:#5f5058;margin-bottom:3px}
.ece-photo figcaption>a{display:block;width:fit-content;color:#8b4e61;text-decoration:underline;text-underline-offset:3px;padding:5px 0;min-height:28px}
.ece-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ece-category{font-size:11px;color:#856470}
.ece-status{font-size:10px;padding:4px 10px;border-radius:20px;line-height:1.7;background:#eaf3ee;color:#37614c}
.ece-status-ongoing{background:#37614c;color:white}
.ece-status-pending,.ece-status-review,.ece-status-cancelled{background:#f3eeeb;color:#796a65}
#content .ece-guide .ece-date{display:flex;flex-wrap:wrap;column-gap:6px;margin-bottom:13px;color:var(--ece-rose);font-size:15px;line-height:1.7;font-weight:600;font-feature-settings:"palt"}
#content .ece-card h3{margin-bottom:14px;overflow-wrap:anywhere}
#content .ece-card .ece-description{font-size:13px;line-height:1.95;color:#645b62;margin-bottom:18px}
#content .ece-card .ece-venue{font-size:12px;color:#766a70;line-height:1.75;display:flex;gap:10px;padding-top:15px;border-top:1px dashed var(--ece-border);margin-top:auto}
.ece-venue>span{flex:none;color:#a75065}
#content .ece-card .ece-card-note{margin-top:13px;padding:10px 12px;border-radius:8px;background:#faf5f3;font-size:11px;line-height:1.9;color:#75646b}
.ece-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:18px}
.ece-card-bottom a{display:flex;align-items:center;gap:20px;min-height:44px;font-size:13px;font-weight:600;color:var(--ece-rose);text-decoration:underline;text-underline-offset:5px}
.ece-card-bottom small{font-size:10px;color:#81747c}
.ece-card-pending{box-shadow:none;background:#fffcfa}
#content .ece-guide .ece-section-copy{font-size:13px;color:#756871;margin:-9px 0 22px}
#content .ece-guide .ece-empty{padding:24px;border:1px dashed var(--ece-border);border-radius:14px;background:#fff;color:#756871;font-size:13px}
#content .ece-empty p{font-size:13px;margin-top:10px}
.ece-resources{padding:24px 0 0}
#content .ece-resources h3{font-size:15px;margin-bottom:10px}
.ece-resources a{display:flex;align-items:center;gap:12px;min-height:44px;width:fit-content;color:var(--ece-rose);font-size:13px;text-underline-offset:4px}
.ece-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:26px 0 0}
.ece-tips>div{padding:0 16px 0 0;border-right:1px solid var(--ece-border)}
.ece-tips>div:last-child{border:0;padding:0}
.ece-tips>div>span{font:italic 28px/1.4 Georgia,serif;color:#be7e8d}
#content .ece-tips h3{font-size:15px;margin:12px 0 10px}
#content .ece-tips p{font-size:12px;color:#756871}
.ece-consult{margin-top:46px;padding:36px;border-radius:20px;background:linear-gradient(120deg,#f8e8ed,#fbf3ec)}
#content .ece-consult p:not(.ece-eyebrow){margin-top:14px}
.ece-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ece-actions>a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 20px;font-size:13px;font-weight:600;text-decoration:none;background:#fff;border:1px solid #e5cbd0;border-radius:10px;color:var(--ece-rose)}
.ece-actions>a.ece-line{background:#008c42;border-color:#008c42;color:#fff}
#content .ece-consult .ece-small{font-size:11px;color:#756871}
.ece-guide a:hover{filter:brightness(.94)}
.ece-guide a:focus-visible{outline:3px solid #a75065;outline-offset:4px}
.ece-sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:768px) and (max-width:1099px){.ece-grid{grid-template-columns:1fr}.ece-jumps{flex-direction:column}.ece-tips{grid-template-columns:1fr;gap:20px}.ece-tips>div{border-right:0;border-bottom:1px solid var(--ece-border);padding:0 0 20px}}
@media(max-width:767px){
 body.eac-city-events #content .eac-wide-hero{min-height:240px}
 .ece-guide{padding:0 20px 40px}
 #content .ece-intro{padding:30px 0 24px}
 .ece-mobile-break{display:initial}
 #content .ece-intro>p:not(.ece-eyebrow):not(.ece-reviewed){font-size:13px}
 .ece-jumps{gap:8px;overflow-x:auto;scrollbar-width:thin;padding:3px 2px 12px;margin-bottom:12px}
 .ece-jumps a{flex:0 0 auto;font-size:12px;min-height:48px;padding:11px 13px;white-space:nowrap}
 .ece-section{padding-top:34px}
 .ece-grid{grid-template-columns:1fr;gap:16px}
 .ece-card{padding:22px}
 .ece-card .ece-photo{margin:-22px -22px 18px}
 .ece-card .ece-photo figcaption{padding:10px 22px 8px}
 #content .ece-guide h2{font-size:23px}
 #content .ece-guide .ece-date{font-size:14px}
 #content .ece-guide h3{font-size:18px}
 .ece-count{padding:4px 10px}
 .ece-tips{grid-template-columns:1fr;gap:20px}
 .ece-tips>div{border-right:0;border-bottom:1px solid var(--ece-border);padding:0 0 20px}
 .ece-consult{padding:26px 22px;margin-top:32px}
 .ece-actions{flex-direction:column}
 .ece-actions>a{font-size:12px;padding:13px 12px}
}
@media(prefers-reduced-motion:no-preference){html:has(body.eac-city-events){scroll-behavior:smooth}}
/* Include the small section label above an anchor heading in the visible area. */
body.eac-city-events #content .ece-guide h2[id]{scroll-margin-top:calc(var(--eac-city-header-height) + 56px)}
@media(max-width:767px){body.eac-city-events #content .ece-guide h2[id]{scroll-margin-top:calc(var(--eac-city-header-height) + var(--eac-city-mobile-nav-height,110px) + 48px)}}

#content .ece-card .ece-source{font-size:11px;margin-top:4px}
.ece-source a{display:inline-flex;align-items:center;min-height:44px;color:#756871;text-underline-offset:4px;gap:7px}
