/* Cristiano Mesquita Notícias — Obituário & Memórias v1.1 */
.cm-om-shell{--navy:#0A2A5B;--blue:#1B5ED7;--gold:#D4AF37;--line:#dfe6ee;--muted:#6f7d8d;max-width:1280px;margin:0 auto;padding:24px 18px 48px}
.cm-om-breadcrumb{display:flex;gap:8px;align-items:center;font-size:12px;color:#7a8796;margin:4px 0 18px}.cm-om-breadcrumb a{color:#52657a;text-decoration:none}.cm-om-breadcrumb strong{color:#26384d}
.cm-om-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 270px;gap:24px;align-items:start}
.cm-om-left-rail,.cm-om-right-rail{display:grid;gap:16px}
.cm-om-hero-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 4px rgba(10,42,91,.06)}
.cm-om-hero-head{display:flex;align-items:center;gap:22px;padding:22px;background:linear-gradient(120deg,#0A2A5B,#071a38);color:#fff}
.cm-om-hero-photo{width:118px;height:118px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.3);background:#e8edf3;display:grid;place-items:center;flex:0 0 auto;font-size:28px}.cm-om-hero-photo img{width:100%;height:100%;object-fit:cover}
.cm-om-kicker,.cm-om-eyebrow{color:#5e9cff;font-size:10px;font-weight:800;letter-spacing:.1em}.cm-om-hero-head .cm-om-kicker{color:#ffdb63}
.cm-om-hero-head h1{margin:5px 0 7px;color:#fff;font-size:30px;line-height:1.05}.cm-om-age{font-size:15px;font-weight:700}.cm-om-city{font-size:13px;margin-top:5px;color:#d9e4f3}
.cm-om-hero-body{padding:22px}.cm-om-death{font-size:14px;color:#293a4d;margin-bottom:18px}.cm-om-hero-body blockquote{margin:0 0 18px;padding:6px 0 6px 16px;border-left:4px solid var(--navy);font-style:italic;color:#33465a}
.cm-om-service-box{background:#f7f9fb;border-radius:10px;padding:16px;display:grid;gap:8px;color:#536477;font-size:13px}.cm-om-service-box strong{color:#172c46}
.cm-om-content{margin-top:18px;color:#33465a;line-height:1.65}
.cm-om-memory-cta{display:flex;justify-content:space-between;gap:22px;align-items:center;margin:22px 0;padding:20px;border:1px solid #eadfb9;border-left:4px solid var(--gold);border-radius:10px;background:#fffdf7}.cm-om-memory-cta h2{margin:5px 0;color:var(--navy);font-size:20px}.cm-om-memory-cta p{margin:0;color:#647385;font-size:13px}.cm-om-memory-cta a,.cm-om-primary-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:8px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800;font-size:12px;white-space:nowrap}
.cm-om-section-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 10px}.cm-om-section-head h2{margin:3px 0 0;color:var(--navy)}.cm-om-section-head a{font-size:12px;font-weight:800;color:var(--blue);text-decoration:none}
.cm-om-other-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cm-om-other-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:#fff}.cm-om-other-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#eff3f7;display:grid;place-items:center;flex:0 0 auto}.cm-om-other-photo img{width:100%;height:100%;object-fit:cover}.cm-om-other-item strong{display:block;color:#152b45;font-size:13px}.cm-om-other-item span{display:block;color:#788696;font-size:11px}
.cm-om-side-box{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.cm-om-side-box h3{margin:0 0 8px;color:#20344d;font-size:13px}.cm-om-side-box a{display:block;padding:9px;border-radius:7px;text-decoration:none;background:#f8fafc;margin-top:6px}.cm-om-side-box strong{display:block;color:#20344d;font-size:12px}.cm-om-side-box span{display:block;color:#7b8796;font-size:10px;margin-top:2px}
.cm-om-ad{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.cm-om-ad-label{padding:6px;text-align:center;font-size:9px;letter-spacing:.1em;color:#708094}.cm-om-ad picture,.cm-om-ad img{display:block;width:100%;height:auto}.cm-om-ad a{display:block}.cm-om-ad-empty{min-height:180px;display:grid;place-items:center;background:#f7f9fb;color:#66798d;font-weight:800}.cm-om-ad-o1 .cm-om-ad-empty{min-height:330px}.cm-om-ad-o3 .cm-om-ad-empty{min-height:250px}
.cm-om-mobile-ad{display:none}
.cm-om-archive-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.cm-om-archive-head h1{margin:5px 0;color:var(--navy);font-size:32px}.cm-om-archive-head p{margin:0;color:var(--muted)}
.cm-om-filter{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:8px;margin:18px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.cm-om-filter input,.cm-om-filter select{min-height:40px;border:1px solid #cfd9e3;border-radius:7px;padding:0 10px}.cm-om-filter button{border:0;border-radius:7px;background:var(--navy);color:#fff;font-weight:800;padding:0 14px}.cm-om-filter a{display:grid;place-items:center;color:#5d6f82;text-decoration:none;font-size:12px}
.cm-om-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cm-om-archive-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.cm-om-archive-card a{display:flex;gap:12px;align-items:center;padding:12px;text-decoration:none}.cm-om-archive-photo{width:68px;height:68px;border-radius:50%;overflow:hidden;background:#eff3f7;display:grid;place-items:center;flex:0 0 auto}.cm-om-archive-photo img{width:100%;height:100%;object-fit:cover}.cm-om-archive-card h2{margin:4px 0;color:#17304d;font-size:15px}.cm-om-archive-card p{margin:0;color:#798797;font-size:11px}
.cm-om-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cm-om-memory-card{border:1px solid var(--line);border-radius:10px;background:#fff}.cm-om-memory-card a{display:block;padding:18px;text-decoration:none;color:inherit}.cm-om-sponsored{display:inline-flex;margin-bottom:8px;padding:3px 7px;border-radius:5px;background:#fff8df;color:#735700;font-size:9px;font-weight:800}.cm-om-mem-type{color:var(--blue);font-size:10px;font-weight:800}.cm-om-memory-card h2{color:var(--navy);margin:6px 0}.cm-om-memory-card p{color:#687789;font-size:13px}
.cm-om-empty{grid-column:1/-1;padding:24px;border:1px dashed #ccd6e0;border-radius:10px;text-align:center;color:#718095;background:#fafbfc}
@media(max-width:1050px){.cm-om-layout{grid-template-columns:minmax(0,1fr) 260px}.cm-om-left-rail{display:none}.cm-om-mobile-ad{display:block;margin-top:18px}}
@media(max-width:760px){.cm-om-shell{padding:16px 12px 36px}.cm-om-layout{grid-template-columns:1fr}.cm-om-right-rail{display:grid}.cm-om-hero-head{padding:18px;gap:16px}.cm-om-hero-photo{width:88px;height:88px}.cm-om-hero-head h1{font-size:24px}.cm-om-hero-body{padding:16px}.cm-om-memory-cta{align-items:flex-start;flex-direction:column}.cm-om-other-list{grid-template-columns:1fr}.cm-om-archive-head{align-items:flex-start;flex-direction:column}.cm-om-filter{grid-template-columns:1fr}.cm-om-archive-grid,.cm-om-memory-grid{grid-template-columns:1fr}.cm-om-right-rail .cm-om-ad{margin:10px 0}.cm-om-ad-o2{order:1}.cm-om-side-box{order:2}.cm-om-ad-o3{order:3}}



/* CM OBITUARIO HOME COMPACTO v2.0
 * 6 registros compactos.
 * Desktop preserva a faixa lateral direita para uso futuro.
 * Não interfere no archive, individual, flores ou publicidade O1/O2/O3.
 */
.cm-obituary-home {
  --cm-navy: #0A2A5B;
  --cm-blue: #1B5ED7;
  --cm-gold: #D4AF37;
  --cm-muted: #6d7c8f;
  --cm-line: #e1e7ee;

  max-width: 1200px;
  margin: 24px auto 28px;
  padding: 0 306px 0 16px;
  box-sizing: border-box;
}

.cm-obituary-home-head {
  display: block;
  margin-bottom: 13px;
}

.cm-obituary-home .cm-om-eyebrow {
  color: var(--cm-blue);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .12em;
}

.cm-obituary-home h2 {
  margin: 5px 0 4px;
  color: var(--cm-navy);
  font-size: clamp(23px, 2.6vw, 31px);
  line-height: 1.05;
}

.cm-obituary-home-head p {
  margin: 0;
  color: var(--cm-muted);
  font-size: 13px;
  line-height: 1.35;
}

.cm-obituary-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-start;
  margin-top: 10px;
}

.cm-obituary-home-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #d7e0e8;
  border-radius: 8px;
  background: #fff;
  color: var(--cm-navy);
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
}

.cm-obituary-home-actions a:hover {
  border-color: #b9c8d7;
}

.cm-obituary-home-actions .is-whatsapp {
  background: var(--cm-navy);
  border-color: var(--cm-navy);
  color: #fff;
}

.cm-obituary-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.cm-obituary-home-card {
  border: 1px solid var(--cm-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.cm-obituary-home-card > a {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  text-decoration: none;
}

.cm-obituary-home-card > a:hover {
  background: #fafbfd;
}

.cm-obituary-home-photo {
  width: 58px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f3f6;
  display: grid;
  place-items: center;
  color: #8795a6;
  font-size: 20px;
}

.cm-obituary-home-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cm-obituary-home-body {
  min-width: 0;
}

.cm-obituary-home .cm-om-kicker {
  color: var(--cm-blue);
  font-size: 8px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
}

.cm-obituary-home-card h3 {
  margin: 4px 0;
  color: var(--cm-navy);
  font-size: 14px;
  line-height: 1.15;
}

.cm-obituary-home-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 10px;
  color: var(--cm-muted);
  font-size: 10px;
  line-height: 1.2;
}

.cm-obituary-home .cm-om-empty {
  padding: 20px;
  border: 1px dashed #ccd6e0;
  border-radius: 10px;
  text-align: center;
  color: #718095;
  background: #fafbfc;
}

.cm-obituary-home-footer {
  display: none !important;
}

/* Abaixo deste ponto a home deixa de reservar a faixa lateral. */
@media (max-width: 1000px) {
  .cm-obituary-home {
    padding: 0 16px;
  }
}

@media (max-width: 620px) {
  .cm-obituary-home {
    margin-top: 20px;
    margin-bottom: 24px;
  }

  .cm-obituary-home-actions {
    gap: 6px;
  }

  .cm-obituary-home-actions a {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 10.5px;
  }

  .cm-obituary-home-grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .cm-obituary-home-card > a {
    grid-template-columns: 52px minmax(0,1fr);
    padding: 7px 8px;
  }

  .cm-obituary-home-photo {
    width: 52px;
    height: 58px;
  }

  .cm-obituary-home-card h3 {
    font-size: 13px;
  }
}

/* CM OBITUARIO ARCHIVE ADS v1.0 */
.cm-om-archive-mobile-ad{display:none}
.cm-om-archive-layout .cm-om-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cm-om-archive-right{align-content:start}

@media(max-width:1050px){
  .cm-om-archive .cm-om-right-rail{display:none}
  .cm-om-archive-mobile-ad{display:block;margin:14px 0 18px}
  .cm-om-archive-mobile-ad .cm-om-ad{width:100%;margin:0}
}

@media(max-width:760px){
  .cm-om-archive-layout .cm-om-archive-grid{grid-template-columns:1fr}
}

/* CM OBITUARIO MOBILE ADS CAROUSEL v1.0 */

/* Um unico inventario visual no mobile/tablet.
 * O1, O2 e O3 ocupam exatamente o mesmo espaco e alternam a cada 5s.
 */
.cm-om-mobile-carousel {
  width: 100%;
}

.cm-om-mobile-carousel-viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border-radius: 10px;
}

.cm-om-mobile-carousel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: cmOmMobileAdSlide 15s infinite;
}

.cm-om-mobile-carousel-slide-1 { animation-delay: 0s; }
.cm-om-mobile-carousel-slide-2 { animation-delay: -10s; }
.cm-om-mobile-carousel-slide-3 { animation-delay: -5s; }

.cm-om-mobile-carousel-slide .cm-om-ad {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
}

.cm-om-mobile-carousel-slide .cm-om-ad-label {
  position: absolute;
  top: 5px;
  left: 8px;
  right: 8px;
  z-index: 3;
  padding: 0;
  background: transparent;
  text-align: right;
  color: #708094;
  font-size: 8px;
  line-height: 1.2;
  letter-spacing: .1em;
  pointer-events: none;
}

.cm-om-mobile-carousel-slide .cm-om-ad > a,
.cm-om-mobile-carousel-slide .cm-om-ad picture {
  display: block;
  width: 100%;
  height: 100%;
}

.cm-om-mobile-carousel-slide .cm-om-ad img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cm-om-mobile-carousel-slide .cm-om-ad-empty {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  display: grid;
  place-items: center;
  box-sizing: border-box;
}

.cm-om-mobile-carousel-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 16px;
  margin-top: 4px;
}

.cm-om-mobile-carousel-dots span {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #aab6c3;
  opacity: .45;
  animation: cmOmMobileAdDot 15s infinite;
}

.cm-om-mobile-carousel-dots span:nth-child(1) { animation-delay: 0s; }
.cm-om-mobile-carousel-dots span:nth-child(2) { animation-delay: -10s; }
.cm-om-mobile-carousel-dots span:nth-child(3) { animation-delay: -5s; }

@keyframes cmOmMobileAdSlide {
  0%, 30% {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  33.333%, 100% {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@keyframes cmOmMobileAdDot {
  0%, 30% {
    opacity: 1;
    transform: scale(1.25);
  }
  33.333%, 100% {
    opacity: .45;
    transform: scale(1);
  }
}

@media (max-width: 1050px) {
  .cm-om-archive-mobile-ad.cm-om-mobile-carousel {
    display: block;
    margin: 14px 0 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cm-om-mobile-carousel-slide,
  .cm-om-mobile-carousel-dots span {
    animation: none !important;
  }

  .cm-om-mobile-carousel-slide {
    display: none;
  }

  .cm-om-mobile-carousel-slide-1 {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* CM_OBITUARIO_HOME_ADS_v1 — O1/O2/O3 na home */
.cm-obituary-home-top{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);
  gap:16px;
  align-items:start;
  margin-bottom:13px;
}

.cm-obituary-home-top .cm-obituary-home-head{
  margin-bottom:0;
}

.cm-obituary-home-ads{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0;
}

.cm-obituary-home-ad{
  min-width:0;
}

.cm-obituary-home-ad-type{
  display:block;
  margin:0 0 4px;
  color:#6d7c8f;
  font-size:8px;
  line-height:1.15;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cm-obituary-home-ad-media,
.cm-obituary-home-ad-empty{
  aspect-ratio:2/1;
  width:100%;
  border:1px solid #dce3ea;
  border-radius:8px;
  overflow:hidden;
  background:#f7f9fb;
}

.cm-obituary-home-ad-media a{
  display:block;
  width:100%;
  height:100%;
}

.cm-obituary-home-ad-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.cm-obituary-home-ad-empty{
  display:grid;
  place-items:center;
  border-style:dashed;
  color:#7b8999;
  text-align:center;
}

.cm-obituary-home-ad-empty strong{
  font-size:10px;
  letter-spacing:.06em;
}

@media(max-width:1000px){
  .cm-obituary-home-top{
    grid-template-columns:1fr;
  }

  .cm-obituary-home-ads{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .cm-obituary-home-top{
    gap:12px;
  }

  .cm-obituary-home-ads{
    grid-template-columns:1fr;
    gap:8px;
  }

  .cm-obituary-home-ad-type{
    font-size:9px;
  }
}


/* CM_OBITUARIO_HOME_ADS_HIGH_v1 */
@media(min-width:1001px){
  .cm-obituary-home-top{
    align-items:stretch;
    margin-bottom:8px;
  }

  .cm-obituary-home-commercial{
    display:flex;
    flex-direction:column;
    min-width:0;
  }

  .cm-obituary-home-publicidade{
    display:block;
    margin:0 0 5px;
    color:#6d7c8f;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
  }

  .cm-obituary-home-ads{
    flex:1 1 auto;
    align-items:stretch;
  }

  .cm-obituary-home-ad{
    display:flex;
    min-height:100%;
  }

  .cm-obituary-home-ad-media,
  .cm-obituary-home-ad-empty{
    flex:1 1 auto;
    height:auto;
    min-height:0;
    aspect-ratio:auto;
  }

  .cm-obituary-home-ad-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#f7f9fb;
  }
}

@media(max-width:1000px){
  .cm-obituary-home-publicidade{
    display:block;
    margin:0 0 5px;
    color:#6d7c8f;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
  }
}

/* CM OBITUARIO ADS DESKTOP EQUAL v1.0
 * O1, O2 e O3: mesmo inventario visual desktop.
 * Arte padrao 600x900 px, exibicao 220x330 px.
 */
@media (min-width:1051px){

  .cm-om-left-rail > .cm-om-ad,
  .cm-om-right-rail > .cm-om-ad{
    width:220px;
    justify-self:center;
    box-sizing:border-box;
  }

  .cm-om-left-rail > .cm-om-ad > a,
  .cm-om-right-rail > .cm-om-ad > a,
  .cm-om-left-rail > .cm-om-ad picture,
  .cm-om-right-rail > .cm-om-ad picture{
    display:block;
    width:100%;
  }

  .cm-om-left-rail > .cm-om-ad picture,
  .cm-om-right-rail > .cm-om-ad picture,
  .cm-om-left-rail > .cm-om-ad .cm-om-ad-empty,
  .cm-om-right-rail > .cm-om-ad .cm-om-ad-empty{
    aspect-ratio:2 / 3;
    min-height:0 !important;
  }

  .cm-om-left-rail > .cm-om-ad img,
  .cm-om-right-rail > .cm-om-ad img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:2 / 3;
    object-fit:cover;
  }
}

/* CM Obituario Home patrocinadores v2 — 2 horizontais por tela; mobile 1 */
@media(min-width:621px){
  .cm-obituary-home-ads{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cm-obituary-home-ad-media,.cm-obituary-home-ad-empty{height:auto!important;min-height:0!important;aspect-ratio:2.4/1!important}
  .cm-obituary-home-ad-media img{width:100%;height:100%;object-fit:cover;background:#f7f9fb}
}
@media(max-width:620px){
  .cm-obituary-home-ads{grid-template-columns:1fr}
  .cm-obituary-home-ad-media,.cm-obituary-home-ad-empty{aspect-ratio:2.4/1}
}
