/* iWawa v1.89: consistent action rows across desktop, tablet and mobile. */
.content-view .city-actions{align-items:stretch;gap:10px}
.content-view .city-actions> :is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:0;max-width:100%;margin:0;padding:11px 14px;font-size:14px;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:center;flex:0 1 auto}
.content-view .city-actions>.info-link,.content-view .city-actions>.original-source-link{background:#fff;border:1px solid var(--entry-edge,#cbd2c8);border-radius:10px;color:var(--entry-ink,var(--ink));text-decoration:none;box-shadow:none}
.content-view .city-actions>.original-source-link{font-size:12px}
.content-view .city-actions>.route-buttons{margin:0;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.content-view .city-actions>.route-buttons a{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;margin:0}
#event-list.news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.content-view .city-event{display:flex;flex-direction:column;min-width:0;gap:20px;padding:24px}
.city-event-content{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}
.content-view .city-event .badge{align-self:flex-start;width:fit-content}
.content-view .city-event h2{font-size:21px;line-height:1.4;letter-spacing:-.4px;margin:0}
.content-view .city-event h2 a{display:block;min-height:0;padding:0;margin:0;white-space:normal;line-height:inherit;overflow-wrap:anywhere}
.content-view .city-event time{margin:0;font-size:16px;line-height:1.5;font-weight:750}
.content-view .city-event address{margin:0;font-style:normal;font-size:15px;line-height:1.6;color:var(--entry-body,var(--muted))}
.content-view .city-event .city-event-venue{font-weight:650}
.content-view .city-event .city-event-language{font-size:13px;line-height:1.5}
.city-event-footer{display:grid;gap:10px;margin-top:auto;min-width:0;width:100%;border-top:1px solid var(--entry-line,#e5e8e2);padding-top:16px}
.city-event-sources{display:flex;align-items:stretch;gap:8px;min-width:0}
.content-view .city-event-sources>a,.content-view .city-event-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:0;margin:0;padding:11px 12px;font-size:14px;font-weight:700;line-height:1.45;text-align:center;white-space:normal;overflow-wrap:anywhere;background:#fff;color:var(--entry-ink,var(--ink));border:1px solid var(--entry-edge,#cbd2c8);border-radius:10px;box-shadow:none;text-decoration:none}
.city-event-sources>.info-link{flex:1 1 0}
.content-view .city-event-sources>.original-source-link{flex:0 1 auto;font-size:12px}
.content-view .city-event .city-event-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:10px}
.content-view .city-event-actions>:only-child{grid-column:1/-1}
.content-view .city-event-actions>a.outline-button{background:var(--entry-ink,var(--ink));color:#fff;border-color:var(--entry-ink,var(--ink));background-image:none}
.content-view .city-event-actions>a.outline-button::after{display:none}
.content-view .city-event-actions .route-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}
.content-view .city-event-actions .route-buttons a{width:auto;min-width:0;margin:0;border-radius:10px}
.city-event-meta{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;border-top:1px solid var(--entry-line,#e5e8e2);padding-top:8px}
.content-view .city-event-meta .source-note{margin:0;font-size:12px;line-height:1.5}
.content-view .city-event-meta>.text-button{min-height:40px;margin:0;padding:8px 0;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.content-view .city-event-sources>a:hover,.content-view .city-event-actions>a:hover{border-color:var(--entry-accent,var(--ink));background:var(--entry-tint,#f5f6f1);color:var(--entry-ink,var(--ink))}
.content-view .city-event-detail{max-width:920px}
@media(min-width:761px) and (max-width:1100px){
 #event-list.news-grid{gap:16px}
 .content-view .city-event{padding:20px;gap:18px}
 .content-view .city-event h2{font-size:20px}
 .content-view .city-event-sources>a,.content-view .city-event-actions>a{font-size:13px;padding:10px}
 .content-view .city-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 #event-list.news-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .content-view .city-event{padding:20px 18px;gap:18px}
 .content-view .city-event h2{font-size:20px}
 .content-view .city-actions> :is(a,button){flex:1 1 150px}
 .content-view .city-event .city-event-actions>a{flex:none;font-size:14px}
 .content-view .city-filters label{min-width:0}
 .content-view .city-filters .filter-input{width:100%;min-width:0}
}
@media(max-width:380px){
 .content-view .city-event .city-event-actions{grid-template-columns:minmax(0,1fr)}
 .city-event-sources{flex-wrap:wrap}
 .city-event-sources>.info-link{flex-basis:100%}
 .content-view .city-event-sources>.original-source-link{flex:1 1 auto}
}

/* v1.90: place details share a compact header and aligned action rows. */
.content-view .compact-record,.content-view .compact-record:has(.compact-save){display:grid;gap:14px;min-width:0;max-width:920px;padding:22px;overflow-wrap:anywhere}
.content-view .compact-record> :is(p,address,div,figure){min-width:0;margin:0}
.compact-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}
.compact-location{min-width:0;display:grid;gap:6px}
.content-view .compact-location>.source-note{margin:0;font-size:12px;line-height:1.5}
.content-view .compact-location>address{display:flex;align-items:flex-start;gap:10px;margin:0;padding:0;font-size:17px;line-height:1.5;font-weight:650;min-width:0}
.compact-location>address>span{min-width:0}
.compact-location>address>svg{width:21px;height:21px;margin-top:3px;flex:0 0 21px}
.content-view .compact-header .compact-save{position:static;margin:0}
.content-view .compact-record .save-place{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--entry-line);border-radius:10px;background:#fff}
.content-view .compact-record .save-place.saved{background:var(--entry-tint);border-color:var(--entry-accent)}
.content-view .compact-record>.badge{display:inline-flex;justify-self:start;width:fit-content;max-width:100%;padding:5px 9px;border:1px solid var(--entry-line);border-radius:7px;background:var(--entry-tint);color:var(--entry-ink);font-size:12px;line-height:1.5}
.content-view .compact-record>.compact-actions{display:flex;align-items:stretch;gap:10px;margin:0;min-width:0}
.content-view .compact-actions>:is(.info-link,.original-source-link){display:inline-flex;align-items:center;justify-content:center;flex:1 1 180px;min-width:0;min-height:46px;margin:0;padding:11px 14px;gap:8px;border:1px solid var(--entry-edge);border-radius:10px;background:#fff;color:var(--entry-ink);font-size:14px;font-weight:700;line-height:1.5;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.content-view .compact-actions>.original-source-link{flex:0 1 auto;font-size:12px}
.content-view .compact-actions>.route-buttons{display:flex;flex-wrap:nowrap;flex:0 1 auto;width:auto;max-width:100%;gap:8px;margin:0;min-width:0}
.content-view .compact-actions>.route-buttons>a{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex:none;width:auto;height:auto;min-width:0;min-height:48px;margin:0;padding:10px 8px;border:1px solid var(--entry-edge);border-radius:10px;background:#fff;color:var(--entry-ink)}
.content-view .compact-actions>.route-buttons>a::after{content:none}
.content-view .compact-actions>.route-buttons svg{width:22px;height:22px;flex:0 0 22px}
.content-view .compact-actions>a:hover,.content-view .compact-actions>.route-buttons>a:hover{background:var(--entry-tint);border-color:var(--entry-accent);color:var(--entry-ink)}
.content-view .compact-record>.record-source{margin:0!important;padding-top:12px;font-size:12px!important;line-height:1.6!important}
.content-view .compact-record>.record-source a{display:inline-flex;align-items:center;min-height:32px;gap:5px;margin:0;font-size:12px;line-height:1.5}
.content-view .compact-record>.record-source .original-source-link{padding:4px 6px}
.content-view .compact-record>.city-actions{justify-content:flex-start;margin:0;padding:0;gap:8px}
.content-view .compact-record>.city-actions>.text-button{flex:0 1 auto;justify-content:flex-start;min-height:36px;margin:0;padding:6px 0;font-size:12px;font-weight:600;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:3px}
.content-view .compact-record .compact-description{font-size:15px;line-height:1.65}
@media(max-width:760px){
 .content-view .compact-record,.content-view .compact-record:has(.compact-save){padding:18px;gap:12px}
 .compact-header{gap:12px}
 .content-view .compact-location>address{font-size:16px;line-height:1.5}
 .content-view .compact-actions>.route-buttons{gap:8px}
 .content-view .compact-actions>.route-buttons>a{flex-direction:row;gap:0;padding:10px;min-height:44px}
 .content-view .compact-actions>.route-buttons>a::after{font-size:12px}
}
@media(max-width:380px){
 .content-view .compact-record,.content-view .compact-record:has(.compact-save){padding:14px}
 .compact-header{gap:8px}
 .content-view .compact-actions>:is(.info-link,.original-source-link){flex-basis:100%}
}

/* v1.91: contact availability messages do not occupy a button slot. */
.content-view .compact-actions>.contact-phone-note{display:block;flex:1 0 100%;order:2;width:100%;min-width:0;margin:0;padding:0;font-size:13px;line-height:1.6;color:var(--entry-body,var(--muted));text-align:left}
.content-view .compact-actions>.route-buttons{order:1}
.contact-phone-group{display:flex;flex-direction:column;gap:5px;min-width:0}
.content-view .compact-actions>.contact-phone-group{flex:1 1 180px;min-width:0}
.content-view .compact-actions>.contact-phone-group>.contact-phone-label{display:block;margin:0;font-size:12px;line-height:1.5;color:var(--entry-body,var(--muted))}
.content-view .compact-actions>.contact-phone-group>.info-link{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;min-height:46px;gap:8px;margin:0;padding:11px 14px;border:1px solid var(--entry-edge);border-radius:10px;background:#fff;color:var(--entry-ink);font-size:14px;font-weight:700;line-height:1.5;text-align:center;white-space:normal;overflow-wrap:anywhere}
.content-view .compact-actions>.contact-phone-group>.info-link:hover{background:var(--entry-tint);border-color:var(--entry-accent)}
.content-view .place-contact-actions>.contact-phone-note{display:block;flex:1 0 100%;width:100%;min-width:0;margin:0;line-height:1.6}
.content-view .compact-actions>.info-link>span{min-width:0}
@media(max-width:760px){
 .content-view .compact-actions>:is(.info-link,.contact-phone-group){flex-basis:calc(50% - 5px)}
 .content-view .compact-actions>.contact-phone-note{font-size:12px}
}
@media(max-width:480px){
 .content-view .compact-actions>:is(.info-link,.contact-phone-group){flex-basis:100%}
}

/* v1.92: icon-only travel actions retain their accessible names and tooltips. */
.content-view .route-buttons{gap:8px}
.content-view :is(.compact-actions,.city-event-actions,.city-actions) .route-buttons{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-start;max-width:100%;grid-template-columns:none}
.content-view .route-buttons>a,.content-view :is(.compact-actions,.city-event-actions,.city-actions) .route-buttons>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;margin:0;padding:10px;gap:0;border:1px solid var(--entry-edge,#cbd2c8);border-radius:10px;background:#fff;color:var(--entry-ink,var(--ink));box-sizing:border-box}
.content-view .route-buttons>a::after,.content-view .route-buttons>a::before{content:none}
.content-view .route-buttons>a>span{display:none}
.content-view .route-buttons>a>svg{display:block;flex:0 0 22px;width:22px;height:22px;margin:0}
.content-view .route-buttons>a:hover{background:var(--entry-tint,#f5f6f1);border-color:var(--entry-accent,var(--ink))}
