/* Detalhe e eventos em destaque: resumo com ícones, fundo branco. */
html { background:#fff; color-scheme:light; }
body.cm-preview { margin:0; background:#fff; color:#252934; font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.cm-preview * { box-sizing:border-box; }
.cm-page { max-width:1100px; padding:16px 20px 24px; margin:auto; }
.banner_principal { display:block; width:100%; height:auto; border-radius:12px 12px 0 0; }
.titulo { display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; background:#252934; color:#fff; padding:12px 18px; border-radius:0 0 12px 12px; font-size:14px; }
.link-top { display:inline-flex; min-height:44px; padding:9px 13px; align-items:center; border-radius:8px; background:#fff; color:#252934; text-decoration:none; font-weight:600; }
.link-top:hover { background:#eee6f3; color:#252934; }
.cm-preview h1 { font-size:clamp(28px,4vw,38px); line-height:1.2; margin:28px 0 20px; overflow-wrap:anywhere; }
.cm-preview .cm-event-share { margin:0 0 22px; }
.cm-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; }
.cm-card { min-width:0; padding:24px; border:1px solid #e5e6ec; border-radius:13px; background:#fff; }
.cm-summary,.cm-description { grid-column:1/-1; }
.cm-summary { background:#f5f0f8; border-color:#eee6f3; }
.cm-preview h2 { display:flex; gap:12px; align-items:center; margin:0 0 20px; font-size:17px; line-height:1.4; font-weight:700; }
.cm-icon { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border-radius:11px; flex:none; }
.cm-icon-svg { flex:none; vertical-align:middle; }
.cm-purple { color:#8050a0; background:#e9dcf1; }
.cm-orange { color:#aa6309; background:#fff3e0; }
.cm-green { color:#258452; background:#eaf7ef; }
.cm-blue { color:#008299; background:#e9f8fa; }
.cm-summary-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:center; }
.cm-preview p { margin:0 0 12px; }
.cm-preview p:last-child { margin-bottom:0; }
.cm-date b,.cm-time b { display:block; font-size:13px; font-weight:500; color:#626773; }
.cm-date #id_data { display:block; font-size:clamp(23px,3vw,30px); font-weight:700; line-height:1.35; }
.cm-time #id_horario { font-size:20px; font-weight:600; color:#8050a0; }
.cm-facts > p { display:flex; gap:14px; justify-content:space-between; align-items:baseline; }
.cm-facts b { display:inline-flex; gap:8px; align-items:center; font-size:14px; font-weight:500; color:#626773; }
.cm-facts > p > span { min-width:0; font-weight:600; text-align:right; }
.cm-preview a { overflow-wrap:anywhere; }
.cm-preview .lnkw { color:#663d83; text-decoration:underline; text-underline-offset:3px; }
.cm-preview .lnkw:hover { color:#523069; }
.cm-facts > p.cm-external { display:block; margin-top:18px; }
.cm-external > b { display:none!important; }
.cm-external #id_url { display:block; }
.cm-preview #id_url a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; background:#8050a0; border:0; border-radius:8px; color:#fff; font-size:15px; font-weight:600; text-decoration:none; text-align:center; }
.cm-preview #id_url a:hover,.cm-preview #id_url a:focus-visible { background:#663d83; color:#fff; }
.cm-preview #id_url a:active { background:#523069; color:#fff; }
.cm-preview :is(a,button,input):focus-visible { outline:3px solid #663d83; outline-offset:3px; }
#id_texto { color:#515764; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.cm-contact p { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; }
.cm-contact b { font-size:14px; color:#626773; font-weight:500; }
.cm-contact span { min-width:0; overflow-wrap:anywhere; }
.cm-contact .cm-place { display:block; }
.cm-place b { display:none; }
#id_localNome { font-weight:700; font-size:18px; }
#google_centro { overflow:hidden; border-radius:10px; }
#google_centro iframe { display:block; width:100%!important; height:260px!important; border:0; }
.cm-preview #cm-directions-slot { margin:16px 0 0; }
#cm-directions-slot .cm-directions-button { width:100%; }
#cm-directions-slot:empty { display:none; }
[hidden] { display:none!important; }
@media(max-width:650px) {
 .cm-page { padding:12px 14px 20px; }
 .cm-grid,.cm-summary-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .cm-card { grid-column:1; padding:20px; }
 .cm-summary-grid { gap:20px; }
 .cm-preview h1 { margin-top:22px; }
 .cm-preview h2 { font-size:16px; }
 .cm-contact p { grid-template-columns:70px minmax(0,1fr); gap:10px; }
 #google_centro iframe { height:220px!important; }
 .titulo { padding:12px; font-size:13px; }
}
