/*
 * Home sections of the Santos edition: directory map, membership and news front.
 *
 * The sections render inside .entry-content, whose theme rules style every link,
 * list and paragraph (.entry-content a, .entry-content ul li, …). Each rule here is
 * anchored on the section root, which always carries two classes (.cx-secao and its
 * own), so component styles outrank those generic rules without !important.
 */

.cx-secao:is(.cx-mapa, .cx-associe, .cx-noticias) {
  --cx-navy:#131c3f;
  --cx-ink:#17284f;
  --cx-blue:#2239ae;
  --cx-blue-hover:#2f49c9;
  --cx-ivory:#fffbed;
  --cx-mist:#dfe5ff;
  --cx-copper:#f3c28b;
  --cx-rust:#c4622d;
  --cx-display:"CMA Encaixe",Arial,sans-serif;
  --cx-sans:var(--skin-font,"CMA Archivo",Arial,sans-serif);
  --cx-serif:"CMA Source Serif",Georgia,serif;
  --cx-gutter:max(clamp(20px,4.8vw,80px),calc((100% - 1500px) / 2));
  --cx-space:clamp(56px,6vw,104px);

  box-sizing:border-box;
  padding:var(--cx-space) var(--cx-gutter);

  & *, & *::before, & *::after {box-sizing:inherit;}
  & :is(h2, h3, h4) {margin:0;color:inherit;text-transform:none;}
  & :is(p, dl, dd, figure) {margin:0;}
  & :is(ul, ol) {margin:0;padding:0;}
  & li {margin:0;list-style:none;}
  & a {border:0;color:inherit;}

  & .cx-rotulo {font:640 14px/1.2 var(--cx-sans);letter-spacing:.1em;text-transform:uppercase;}
  & .cx-link {display:inline-flex;align-items:center;min-height:44px;font:640 15px/1.2 var(--cx-sans);text-decoration:underline;text-underline-offset:.22em;}
  & .cx-botao {display:inline-flex;align-items:center;min-height:50px;padding:12px 22px;background:var(--cx-ivory);color:var(--cx-ink);font:660 16px/1.2 var(--cx-sans);text-decoration:none;}
  & .cx-botao:hover {background:#dce7fc;}
  & .cx-botao-escuro {background:var(--cx-ink);color:var(--cx-ivory);}
  & .cx-botao-escuro:hover {background:var(--cx-blue);}
  & .cx-oculto {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
}

/* Directory map --------------------------------------------------------------- */

.cx-secao.cx-mapa {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  align-items:center;
  gap:clamp(24px,3vw,56px);
  background:var(--cx-navy);
  color:var(--cx-ivory);
  overflow:hidden;

  & .cx-rotulo {color:var(--cx-copper);margin-bottom:18px;}
  & h2 {max-width:15ch;font:640 clamp(30px,2.9vw,50px)/1.04 var(--cx-display);letter-spacing:-.045em;}
  & .cx-mapa-total {display:block;margin:0 0 14px -.04em;color:var(--cx-copper);font:760 clamp(110px,13vw,236px)/.8 var(--cx-display);letter-spacing:-.07em;}
  & .cx-mapa-intro {max-width:38ch;margin:20px 0 22px;color:var(--cx-mist);font:400 clamp(17px,1.3vw,20px)/1.45 var(--cx-serif);}

  & .cx-busca {display:flex;max-width:620px;background:var(--cx-ivory);}
  & .cx-busca input {flex:1;min-width:0;height:60px;margin:0;padding:0 20px;border:0;border-radius:0;background:transparent;color:var(--cx-ink);font:500 17px/1.2 var(--cx-sans);box-shadow:none;}
  & .cx-busca input::placeholder {color:#5a6380;}
  & .cx-busca button {flex:0 0 auto;margin:0;padding:0 28px;border:0;border-radius:0;background:var(--cx-blue);color:#fff;font:660 15px/1 var(--cx-sans);cursor:pointer;}
  & .cx-busca button:hover {background:var(--cx-blue-hover);}
  & .cx-busca:focus-within {outline:3px solid var(--cx-copper);outline-offset:3px;}

  & .cx-cidades {display:flex;flex-wrap:wrap;gap:8px;max-width:620px;margin:18px 0 6px;}
  & .cx-cidades a {display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:1px solid rgba(255,251,237,.35);font:560 14px/1.2 var(--cx-sans);text-decoration:none;}
  & .cx-cidades a:hover {border-color:var(--cx-copper);}
  & .cx-cidades span {color:var(--cx-copper);font-weight:700;}

  & .cx-mapa-figura {margin-right:calc(var(--cx-gutter) * -.4);}
  & svg {display:block;width:100%;height:auto;overflow:visible;}
  & #cx-hachura rect {fill:#f6f4e9;}
  & #cx-hachura line {stroke:var(--cx-blue);stroke-width:1.8;}
  & .cx-mapa-sombra {fill:var(--cx-rust);}
  & .cx-mapa-estado {fill:url(#cx-hachura);}
  & .cx-mapa-relevo {fill:none;stroke:var(--cx-blue);stroke-width:2;opacity:.4;}
  & .cx-mapa-contorno {fill:none;stroke:var(--cx-ivory);stroke-width:4;}
  & .cx-mapa-pinos circle {fill:var(--cx-rust);stroke:var(--cx-navy);stroke-width:2.5;}
  & .cx-mapa-cidades text {fill:var(--cx-navy);font:700 22px/1 var(--cx-display);letter-spacing:-.02em;paint-order:stroke;stroke:var(--cx-ivory);stroke-width:7px;stroke-linejoin:round;}
  & .cx-mapa-cidades tspan {fill:var(--cx-rust);}
  & .cx-mapa-cidades a:hover text {fill:var(--cx-blue);}
}

/* Membership ------------------------------------------------------------------ */

.cx-secao.cx-associe {
  --cx-regua:rgba(255,251,237,.32);
  background:var(--cx-blue);
  color:var(--cx-ivory);

  & h2 {max-width:12ch;font:720 clamp(54px,7.4vw,128px)/.9 var(--cx-display);letter-spacing:-.065em;}
  & .cx-associe-topo {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:clamp(28px,4vw,72px);align-items:start;margin-top:clamp(32px,3.6vw,56px);}

  & .cx-associe-lista {border-top:1px solid var(--cx-regua);}
  & .cx-associe-lista li {display:grid;grid-template-columns:clamp(56px,6vw,96px) minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(14px,2vw,28px);align-items:baseline;padding:clamp(18px,1.8vw,26px) 0;border-bottom:1px solid var(--cx-regua);}
  & .cx-associe-n {color:var(--cx-copper);font:650 clamp(30px,2.8vw,46px)/1 var(--cx-display);letter-spacing:-.04em;}
  & .cx-associe-lista h3 {font:650 clamp(24px,2.2vw,36px)/1.02 var(--cx-display);letter-spacing:-.035em;}
  & .cx-associe-lista p {color:var(--cx-mist);font:400 clamp(16px,1.15vw,18px)/1.45 var(--cx-serif);}

  & .cx-associe-congresso {padding:clamp(22px,2.2vw,34px);background:var(--cx-copper);color:var(--cx-navy);}
  & .cx-associe-congresso .cx-rotulo {margin-bottom:10px;font-size:13px;letter-spacing:.08em;}
  & .cx-associe-congresso h3 {margin-bottom:16px;font:700 clamp(26px,2.2vw,36px)/1 var(--cx-display);letter-spacing:-.04em;}
  & .cx-associe-congresso dl > div {display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid rgba(19,28,63,.3);}
  & .cx-associe-congresso dt {font:500 15px/1.3 var(--cx-sans);}
  & .cx-associe-congresso dd {white-space:nowrap;font:720 clamp(20px,1.6vw,26px)/1 var(--cx-display);letter-spacing:-.03em;}
  & .cx-nota {margin-top:12px;font:400 13px/1.4 var(--cx-sans);}

  & .cx-associe-cmba {margin-top:clamp(40px,4vw,64px);}
  & .cx-associe-cmba > .cx-rotulo {margin-bottom:18px;color:var(--cx-copper);}
  & .cx-associe-grupos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--cx-ivory);}
  & .cx-associe-grupos > div {padding:20px clamp(16px,1.6vw,26px) 4px;border-left:1px solid var(--cx-regua);}
  & .cx-associe-grupos > div:first-child {padding-left:0;border-left:0;}
  & .cx-associe-grupos h4 {margin-bottom:12px;font:650 clamp(22px,1.8vw,28px)/1 var(--cx-display);letter-spacing:-.03em;}
  & .cx-associe-grupos li {position:relative;padding:7px 0 7px 22px;color:#e6ebff;font:450 16px/1.35 var(--cx-sans);}
  & .cx-associe-grupos li::before {content:"";position:absolute;left:0;top:.95em;width:10px;height:2px;background:var(--cx-copper);}

  & .cx-associe-acoes {display:flex;flex-wrap:wrap;align-items:center;gap:16px clamp(20px,2.6vw,40px);margin-top:clamp(36px,3.6vw,56px);padding-top:clamp(24px,2.4vw,36px);border-top:1px solid var(--cx-regua);}
  & .cx-associe-acoes > div {flex:1 1 320px;}
  & .cx-associe-acoes h3 {margin-bottom:6px;font:650 26px/1.05 var(--cx-display);letter-spacing:-.03em;}
  & .cx-associe-acoes p {max-width:46ch;color:var(--cx-mist);font:400 17px/1.45 var(--cx-serif);}
  & .cx-associe-links {display:flex;flex-wrap:wrap;gap:4px 24px;}
}

/* News front ------------------------------------------------------------------ */

.cx-secao.cx-noticias {
  background:#fff;
  color:var(--cx-ink);

  & header {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 20px;margin-bottom:clamp(24px,2.6vw,40px);}
  & h2 {font:650 clamp(34px,4.1vw,72px)/1.015 var(--cx-display);letter-spacing:-.052em;}
  & .cx-noticias-grade {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,3.6vw,64px);align-items:start;}
  & time {color:var(--cx-blue);font:640 13px/1 var(--cx-sans);letter-spacing:.06em;}

  & .cx-noticias-destaque a {display:block;text-decoration:none;}
  & .cx-noticias-imagem {display:block;aspect-ratio:16/10;overflow:hidden;background:#e4e8f6;}
  & .cx-noticias-imagem img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  & .cx-noticias-destaque a:hover img {transform:scale(1.03);}
  & .cx-noticias-destaque time {display:block;margin:22px 0 10px;font-size:14px;}
  & .cx-noticias-destaque h3 {margin-bottom:12px;font:650 clamp(28px,2.7vw,44px)/1.04 var(--cx-display);letter-spacing:-.04em;text-wrap:balance;}
  & .cx-noticias-destaque p {max-width:52ch;margin-bottom:20px;font:400 clamp(17px,1.3vw,20px)/1.5 var(--cx-serif);}

  & .cx-noticias-lista {border-top:2px solid var(--cx-ink);}
  & .cx-noticias-lista li {border-bottom:1px solid #c9cbc6;}
  & .cx-noticias-lista a {display:block;padding:18px 0;text-decoration:none;}
  & .cx-noticias-lista a:hover h3 {text-decoration:underline;text-underline-offset:.18em;}
  & .cx-noticias-lista h3 {margin-top:8px;font:600 clamp(19px,1.45vw,23px)/1.2 var(--cx-display);letter-spacing:-.02em;}
}

/* Narrow screens -------------------------------------------------------------- */

@media (max-width:1050px) {
  .cx-secao.cx-mapa {grid-template-columns:minmax(0,1fr);
    & .cx-mapa-figura {margin-right:0;}
  }
  .cx-secao.cx-associe {
    & .cx-associe-topo {grid-template-columns:minmax(0,1fr);}
    & .cx-associe-grupos {grid-template-columns:repeat(2,minmax(0,1fr));}
    & .cx-associe-grupos > div:nth-child(odd) {padding-left:0;border-left:0;}
    & .cx-associe-grupos > div:nth-child(n+3) {border-top:1px solid var(--cx-regua);}
  }
  .cx-secao.cx-noticias .cx-noticias-grade {grid-template-columns:minmax(0,1fr);}
}

@media (max-width:720px) {
  .cx-secao.cx-mapa {
    & .cx-busca {flex-wrap:wrap;}
    & .cx-busca input {flex-basis:100%;border-bottom:1px solid #cfd2da;}
    & .cx-busca button {flex-basis:100%;height:56px;}
    & .cx-mapa-cidades text {font-size:30px;stroke-width:9px;}
    & .cx-mapa-pinos circle {r:9;}
  }
  .cx-secao.cx-associe {
    & .cx-associe-lista li {grid-template-columns:48px minmax(0,1fr);}
    & .cx-associe-lista p {grid-column:2;}
    & .cx-associe-grupos {grid-template-columns:minmax(0,1fr);}
    & .cx-associe-grupos > div {padding:18px 0 4px;border-left:0;}
    & .cx-associe-grupos > div + div {border-top:1px solid var(--cx-regua);}
  }
}
