/* Carrosséis compactos do Painel (Promoções e Oportunidades).
   1 cartão no telemóvel; 2–3 no desktop. Swipe no móvel; setas e pontos no desktop. */
.cg-carr{position:relative;min-width:0;container-type:inline-size;container-name:carr}
.cg-carr-janela{position:relative;min-width:0}
.cg-carr-pista{
  display:flex;
  gap:var(--d-grid-gap, var(--gutter, 12px));
  margin:0;
  padding:0 0 4px;
  list-style:none;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.cg-carr-pista::-webkit-scrollbar{display:none}
.cg-carr-slide{
  flex:0 0 100%;
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-sizing:border-box;
}

/* Desktop: 2 cartões; 3 quando o widget é largo o suficiente. */
@media (min-width:1280px){
  html[data-layout="desktop"] .cg-carr-slide{
    flex-basis:calc((100% - var(--d-grid-gap, 16px)) / 2);
  }
  html[data-layout="desktop"] .cg-carr-janela{padding:0 40px}
  html[data-layout="desktop"] .cg-carr-btn{display:grid}
  html[data-layout="desktop"] .cg-carr-dots{display:flex}
  html[data-layout="desktop"] .cg-carr-prev{left:2px}
  html[data-layout="desktop"] .cg-carr-next{right:2px}
}
@container carr (min-width: 480px){
  html[data-layout="desktop"] .cg-carr-slide{
    flex-basis:calc((100% - 2 * var(--d-grid-gap, 16px)) / 3);
  }
}

.cg-carr-btn{
  display:none;
  position:absolute;top:50%;z-index:2;
  width:36px;height:36px;margin-top:-18px;
  border:0;border-radius:50%;
  background:var(--c-superficie, var(--surface, #12302B));
  color:var(--c-texto, var(--text, inherit));
  box-shadow:var(--d-sh-2, var(--s-2, 0 4px 14px rgba(0,0,0,.2)));
  cursor:pointer;
  place-items:center;
  transition:background var(--d-m-rapido, 120ms) var(--d-ease, ease), transform var(--d-m-rapido, 120ms) var(--d-ease, ease);
}
.cg-carr-btn:hover{transform:scale(1.05)}
.cg-carr-btn[disabled]{opacity:.35;cursor:default;transform:none}
.cg-carr-prev{left:-6px}
.cg-carr-next{right:-6px}
.cg-carr-dots{
  display:none;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:10px 0 0;
  padding:0;
  list-style:none;
}
.cg-carr-dots button{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;
  background:var(--c-linha, var(--line-2, rgba(22,40,36,.25)));
  cursor:pointer;
  transition:width var(--d-m-base, 220ms) var(--d-ease, ease), background var(--d-m-base, 220ms) var(--d-ease, ease);
}
.cg-carr-dots button[aria-current="true"]{background:var(--c-verde, var(--cg-green, #5BA898));width:18px;border-radius:999px}

@media (prefers-reduced-motion:reduce){
  .cg-carr-pista{scroll-behavior:auto}
  .cg-carr-btn,.cg-carr-dots button{transition:none}
  .cg-carr-btn:hover{transform:none}
}

/* Cartões compactos */
.pr-card .pr-sub{margin-bottom:8px}
.cg-carr .pr-slide{
  display:flex;flex-direction:column;gap:8px;
  height:100%;
  padding:12px;
  border-radius:var(--d-r-lg, var(--r-cartao, 16px));
  background:var(--c-superficie-2, var(--surface-2, #162824));
  box-shadow:var(--d-sh-1, var(--s-1));
  text-decoration:none;color:inherit;
  min-height:132px;
}
.cg-carr .pr-slide .pr-logo{width:40px;height:40px;flex:0 0 auto}
.cg-carr .pr-slide .pr-prod{font-weight:600;line-height:1.3}
.cg-carr .pr-slide .pr-meta{font-size:var(--fs-12, 12px);opacity:.85;line-height:1.4}
.cg-carr .pr-slide:hover .pr-prod{text-decoration:underline}
.opo-card .cg-carr .opo-slide{
  display:flex;flex-direction:column;gap:6px;
  height:100%;
  padding:12px;
  border-radius:var(--d-r-lg, var(--r-cartao, 16px));
  background:var(--c-superficie-2, var(--surface-2, #162824));
  box-shadow:var(--d-sh-1, var(--s-1));
  min-height:148px;
}
.opo-card .cg-carr .opo-slide a.opo-wrow{min-height:0;padding:0}
.opo-card .cg-carr .opo-acoes{margin-top:auto}
.opo-card .cg-carr .opo-wemp,.opo-card .cg-carr .opo-wmeta{white-space:normal}

/* A barra inferior do telemóvel não tapa o widget ao ir até ele. */
#cg-promocoes, #cg-oportunidades, #cg-emails-hoje, #cg-noticias, #cg-painel-widgets{
  scroll-margin-top:88px;
  scroll-margin-bottom:110px;
}
.opo-card .cg-carr .opo-acoes{flex-wrap:wrap;gap:6px}
@media (min-width:1280px){
  html[data-layout="desktop"] .opo-card .cg-carr .opo-acoes{flex-direction:column;align-items:stretch}
  html[data-layout="desktop"] .opo-card .cg-carr .opo-acoes .btn{justify-content:center;width:100%}
}
