﻿
:root{
  --ccs-bg:#f5f7fb;
  --ccs-card:#ffffff;
  --ccs-text:#111827;
  --ccs-muted:#6b7280;
  --ccs-border:#e5e7eb;
  --ccs-primary:#2563eb;
  --ccs-primary-2:#1d4ed8;
  --ccs-green:#16a34a;
  --ccs-red:#dc2626;
  --ccs-shadow:0 8px 24px rgba(17,24,39,.08);
  --ccs-radius:16px;
}

.ccs-app{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--ccs-bg);border:1px solid var(--ccs-border);border-radius:22px;box-shadow:var(--ccs-shadow);overflow:hidden}
.ccs-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(180deg,#ffffff, #f8fafc);border-bottom:1px solid var(--ccs-border)}
.ccs-brand{display:flex;gap:12px;align-items:center}
.ccs-logo{width:42px;height:42px;border-radius:14px;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:20px}
.ccs-title{font-weight:800;color:var(--ccs-text);font-size:16px;line-height:1}
.ccs-sub{margin-top:4px;color:var(--ccs-muted);font-size:12px}
.ccs-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:#f3f4f6;border:1px solid var(--ccs-border);font-weight:600;color:#374151}
.ccs-actions{display:flex;gap:10px;align-items:center}
.ccs-link{color:var(--ccs-primary);text-decoration:none;font-weight:700}
.ccs-link:hover{color:var(--ccs-primary-2);text-decoration:underline}

.ccs-tabs{display:flex;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--ccs-border);overflow:auto}
.ccs-tab{border:1px solid var(--ccs-border);background:#fff;border-radius:999px;padding:10px 12px;font-weight:800;color:#374151;cursor:pointer;white-space:nowrap}
.ccs-tab:hover{background:#f9fafb}
.ccs-tab.is-active{background:#eef2ff;border-color:#c7d2fe;color:#1e40af}

.ccs-panels{padding:14px}
.ccs-panel{display:none}
.ccs-panel.is-active{display:block}

.ccs-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width: 980px){
  .ccs-grid{grid-template-columns:1.2fr .8fr}
}

.ccs-card{background:var(--ccs-card);border:1px solid var(--ccs-border);border-radius:var(--ccs-radius);padding:14px;box-shadow:0 10px 20px rgba(17,24,39,.04)}
.ccs-card h3{margin:0 0 8px 0;color:var(--ccs-text);font-size:16px}
.ccs-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ccs-badge{font-size:12px;font-weight:800;color:#1f2937;background:#f3f4f6;border:1px solid var(--ccs-border);padding:4px 10px;border-radius:999px}
.ccs-muted{color:var(--ccs-muted)}
.ccs-center{text-align:center}
.ccs-divider{height:1px;background:var(--ccs-border);margin:12px 0}

.ccs-btn{appearance:none;border:0;background:var(--ccs-primary);color:#fff;font-weight:900;padding:10px 14px;border-radius:12px;cursor:pointer}
.ccs-btn:hover{background:var(--ccs-primary-2)}
.ccs-btn-ghost{background:#fff;color:#374151;border:1px solid var(--ccs-border)}
.ccs-btn-ghost:hover{background:#f9fafb}
.ccs-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ccs-row label{font-size:12px;font-weight:800;color:#374151}
.ccs-row input,.ccs-row select,.ccs-row textarea{border:1px solid var(--ccs-border);border-radius:12px;padding:10px 12px;font-size:14px;background:#fff;outline:none}
.ccs-row input:focus,.ccs-row select:focus,.ccs-row textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.10)}
.ccs-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.ccs-msg{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--ccs-border);font-weight:700}
.ccs-msg.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.ccs-msg.err{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}

.ccs-month-nav{display:flex;align-items:center;gap:8px}
.ccs-month-label{font-weight:900;color:#111827}

.ccs-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
.ccs-dayname{font-size:11px;font-weight:900;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.ccs-day{border:1px solid var(--ccs-border);border-radius:14px;padding:10px;min-height:56px;cursor:pointer;background:#fff;position:relative}
.ccs-day:hover{background:#f9fafb}
.ccs-day.is-muted{opacity:.5}
.ccs-day .n{font-weight:900;color:#111827}
.ccs-day .s{margin-top:6px;font-size:11px;font-weight:900;color:#6b7280}
.ccs-day.is-reserved{background:#fff7ed;border-color:#fed7aa}
.ccs-day.is-selected{box-shadow:0 0 0 4px rgba(37,99,235,.12);border-color:#93c5fd}

.ccs-slots{display:flex;flex-direction:column;gap:8px}
.ccs-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--ccs-border);background:#fff}
.ccs-slot .t{font-weight:900;color:#111827}
.ccs-slot .st{font-size:12px;font-weight:900;color:#6b7280}
.ccs-slot.is-busy{background:#f9fafb}
.ccs-slot.is-busy .st{color:#b45309}
.ccs-slot.is-mine{border-color:#93c5fd;background:#eff6ff}
.ccs-slot button{padding:8px 12px;border-radius:12px}

.ccs-list{display:flex;flex-direction:column;gap:8px}
.ccs-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--ccs-border);border-radius:14px;padding:10px 12px;background:#fff}
.ccs-item .ttl{font-weight:900;color:#111827}
.ccs-item .meta{color:#6b7280;font-size:12px;margin-top:4px;font-weight:700}
.ccs-item .right{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.ccs-item a{color:var(--ccs-primary);text-decoration:none;font-weight:900}
.ccs-item a:hover{text-decoration:underline}

.ccs-ads{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:980px){.ccs-ads{grid-template-columns:repeat(2,1fr)}}
.ccs-ad{border:1px solid var(--ccs-border);border-radius:16px;padding:12px;background:#fff}
.ccs-ad .ttl{font-weight:950}
.ccs-ad .meta{margin-top:4px;color:#6b7280;font-size:12px;font-weight:800}
.ccs-ad .price{margin-top:8px;font-weight:950;color:#111827}
.ccs-ad .tag{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#f3f4f6;border:1px solid var(--ccs-border);font-weight:900;font-size:12px}

.ccs-pool-status{display:flex;align-items:center;gap:12px;padding:6px 0}
.ccs-dot{width:14px;height:14px;border-radius:999px;display:inline-block}
.ccs-dot-green{background:var(--ccs-green)}
.ccs-dot-red{background:var(--ccs-red)}
.ccs-dot.blink{animation:ccsBlink 1s infinite}
@keyframes ccsBlink{0%,50%{opacity:1}51%,100%{opacity:.35}}
.ccs-pool-state{font-weight:950;color:#111827;font-size:16px}

.ccs-schedule{display:grid;grid-template-columns:1fr;gap:8px}
.ccs-srow{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--ccs-border);border-radius:14px;padding:10px 12px;background:#fff}
.ccs-srow strong{font-weight:950}

.ccs-skeleton{color:#6b7280}

/* =========================
   DESKTOP LAYOUT UPGRADE
   ========================= */
@media (min-width: 1100px) {

    /* largura mxima do app */
    .ccs-app {
        max-width: 1200px;
        margin: 20px auto;
    }

    /* painis mais espaosos */
    .ccs-panels {
        padding: 24px;
    }

    /* Reservas: calendrio + horrios lado a lado */
    .ccs-panel[data-panel="reservas"] .ccs-grid {
        grid-template-columns: 2fr 1fr;
        align-items: flex-start;
    }

    /* Card do calendrio maior */
    .ccs-calendar {
        gap: 12px;
    }

    .ccs-day {
        min-height: 90px;
        padding: 14px;
    }

        .ccs-day .n {
            font-size: 16px;
        }

        .ccs-day .s {
            font-size: 12px;
        }

    /* Horrios do dia mais lista */
    .ccs-slots {
        max-height: 620px;
        overflow-y: auto;
        padding-right: 4px;
    }

    .ccs-slot {
        padding: 14px 16px;
    }

        .ccs-slot .t {
            font-size: 15px;
        }

    /* Minhas reservas ocupa a largura toda */
    #ccs_my_bookings {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .ccs-item {
        align-items: center;
    }
}

/* ================================
   MERCADO — GRID DE ANÚNCIOS
   Estilo institucional / premium
================================ */

/* Grid */
.ccs-ads-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
    align-items: stretch;
}

/* Card base */
.ccs-ad-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease, transform .2s ease;
}

    .ccs-ad-card:hover {
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
        transform: translateY(-2px);
    }

/* Imagem */
.ccs-ad-img {
    width: 100%;
    height: 160px;
    background: #f3f4f6;
}

    .ccs-ad-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ccs-noimg {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    color: #9ca3af;
}

/* Corpo */
.ccs-ad-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

    /* Título */
    .ccs-ad-body h4 {
        font-size: 15px;
        font-weight: 600;
        color: #111827;
        line-height: 1.3;
    }

/* Meta (condomínio / casa) */
.ccs-ad-meta {
    font-size: 12.5px;
    color: #6b7280;
}

/* Preço */
.ccs-ad-price {
    margin-top: 4px;
    font-weight: 700;
    font-size: 17px;
    color: #111827;
}

/* Ações */
.ccs-ad-actions {
    display: flex;
    gap: 8px;
    margin-top: auto; /* força botões no fundo */
}

/* Botão neutro */
.ccs-btn-outline {
    flex: 1;
    text-align: center;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 7px 0;
    font-size: 13px;
    color: #374151;
    text-decoration: none;
    background: #ffffff;
    transition: background .15s ease;
}

    .ccs-btn-outline:hover {
        background: #f9fafb;
    }

/* Botão WhatsApp (premium, discreto) */
.ccs-wa {
    flex: 1;
    text-align: center;
    background: #ecfdf3;
    color: #047857;
    border: 1px solid #bbf7d0;
    padding: 7px 0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s ease;
}

    .ccs-wa:hover {
        background: #d1fae5;
    }

/* Mobile */
@media (max-width: 520px) {
    .ccs-ad-actions {
        flex-direction: column;
    }
}

/* ===============================
   Correção: container pai do grid
   =============================== */

#ccs_ads {
    display: block !important;
}

    #ccs_ads > .ccs-ads-grid {
        width: 100%;
    }


/* ===============================
   EVENTOS – APP DO MORADOR
   =============================== */

.ccs-panel[data-panel="eventos"] {
    animation: ccsFadeIn .25s ease;
}

    /* Card principal */
    .ccs-panel[data-panel="eventos"] .ccs-card {
        background: #ffffff;
        border-radius: 16px;
        padding: 18px;
        box-shadow: 0 8px 24px rgba(0,0,0,.05);
    }

    /* Cabeçalho */
    .ccs-panel[data-panel="eventos"] .ccs-card-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 14px;
    }

    .ccs-panel[data-panel="eventos"] h3 {
        margin: 0;
        font-size: 1.2rem;
    }

    /* Badge */
    .ccs-panel[data-panel="eventos"] .ccs-badge {
        background: #eef2ff;
        color: #3730a3;
        border: 1px solid #c7d2fe;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: .75rem;
    }

    /* Listas */
    .ccs-panel[data-panel="eventos"] .ccs-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    /* Item de evento */
    .ccs-panel[data-panel="eventos"] .ccs-item {
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        padding: 12px 14px;
        background: #fafafa;
        transition: all .2s ease;
    }

        .ccs-panel[data-panel="eventos"] .ccs-item:hover {
            background: #f8fafc;
            border-color: #c7d2fe;
        }

        /* Título */
        .ccs-panel[data-panel="eventos"] .ccs-item strong {
            font-size: .95rem;
            color: #111827;
        }

    /* Infos secundárias */
    .ccs-panel[data-panel="eventos"] .ccs-muted {
        font-size: .8rem;
        color: #6b7280;
        margin-top: 4px;
    }

    /* Divisor */
    .ccs-panel[data-panel="eventos"] .ccs-divider {
        height: 1px;
        background: #e5e7eb;
        margin: 16px 0;
    }

    /* WhatsApp link */
    .ccs-panel[data-panel="eventos"] .ccs-link {
        display: inline-block;
        margin-top: 6px;
        font-size: .8rem;
        color: #16a34a;
        text-decoration: none;
        font-weight: 600;
    }

        .ccs-panel[data-panel="eventos"] .ccs-link:hover {
            text-decoration: underline;
        }

    /* Skeleton */
    .ccs-panel[data-panel="eventos"] .ccs-skeleton {
        color: #9ca3af;
    }

/* Animação */
@keyframes ccsFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ccs-panel[data-panel="eventos"] .ccs-card {
        padding: 14px;
    }
}


.ccs-event-item {
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin-bottom: 10px;
}

.ccs-event-title {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 4px;
}

.ccs-event-when {
    font-size: 13px;
    color: #374151;
}

.ccs-event-desc {
    margin-top: 8px;
    font-size: 14px;
    color: #4b5563;
    line-height: 1.35;
}

.ccs-event-local {
    margin-top: 6px;
    font-size: 13px;
    color: #6b7280;
}

.ccs-event-actions {
    margin-top: 10px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ccs-wa-event {
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid #d1fae5;
    background: #ecfdf5;
    color: #065f46;
    font-weight: 600;
}

.ccs-mercado-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  margin-bottom:16px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 14px rgba(0,0,0,.05);
}

.ccs-mercado-left{
  display:flex;
  align-items:center;
  gap:12px;
}

.ccs-mercado-icon{
  font-size:26px;
  background:#f3f4f6;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
}

.ccs-mercado-title{
  font-size:16px;
  font-weight:800;
  line-height:1.1;
}

.ccs-mercado-sub{
  font-size:13px;
  color:#6b7280;
  font-weight:500;
}

.ccs-mercado-right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.ccs-mercado-right span{
  font-size:12px;
  font-weight:600;
  padding:6px 10px;
  border-radius:999px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  color:#374151;
  white-space:nowrap;
}

@media (max-width:700px){
  .ccs-mercado-bar{
    flex-direction:column;
    align-items:flex-start;
  }
  .ccs-mercado-right{
    width:100%;
  }
}

/* ===================================
   🔧 FIX: HOVER / FOCUS CORRETO
   =================================== */

/* Remove foco fantasma */
.ccs-app button:focus,
.ccs-app button:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Estado hover REAL (apenas o atual) */
.ccs-tab:hover {
    background: #f1f5f9;
    border-color: #c7d2fe;
    color: #1e40af;
}

/* Garante que o foco não fique preso no anterior */
.ccs-tab:not(:hover):not(.is-active) {
    box-shadow: none;
    border-color: var(--ccs-border);
}

/* Ativo SEM depender de hover */
.ccs-tab.is-active {
    background: #eef2ff;
    border-color: #6366f1;
    color: #1e40af;
}

/* Botões ghost */
.ccs-btn-ghost:hover {
    background: #f1f5f9;
    border-color: #c7d2fe;
    color: #111827;
}

/* Remove efeito atrasado */
.ccs-btn-ghost:not(:hover) {
    box-shadow: none;
}



.ccs-whatsapp-btn {
    background: #25D366 !important;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
}

    .ccs-whatsapp-btn:hover {
        background: #1ebe5d !important;
    }


/*cor do texto em branco do Painel do sindico*/
.ccs-card a.ccs-btn {
    color: #ffffff !important;
}


/* ===========================
   GALERIA DE EVENTOS (INSTAGRAM)
   =========================== */

.ccs-event-gallery {
    margin-top: 8px;
}

/* grade de fotos */
.ccs-event-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

/* celular = 2 colunas */
@media (max-width: 600px) {
    .ccs-event-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* container da miniatura */
.ccs-event-thumb {
    position: relative;
    width: 100%;
    padding-top: 50%; /* quadrado perfeito */
    overflow: hidden;
    border-radius: 10px;
    cursor: pointer;
    background: #000;
}

    /* imagem dentro do quadrado */
    .ccs-event-thumb img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; /* recorta igual Instagram */
    }

    /* efeito hover leve */
    .ccs-event-thumb:hover img {
        opacity: 0.9;
        transform: scale(1.03);
        transition: .2s ease;
    }

/* lightbox (foto grande) */
.ccs-event-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

    .ccs-event-lightbox.is-visible {
        display: flex;
    }

.ccs-event-lightbox-inner img {
    max-width: 95%;
    max-height: 95vh;
    border-radius: 12px;
}

.ccs-event-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
    color: white;
    cursor: pointer;
}


/* ===========================
   MELHORIA VISUAL – SOCIAL DOS EVENTOS
   =========================== */

/* área de curtidas */
.ccs-event-social {
    margin-top: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* botão de curtir */
.ccs-like-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
}

    .ccs-like-btn .ccs-like-heart {
        font-size: 18px;
    }

    .ccs-like-btn.is-liked .ccs-like-heart {
        color: #e0245e; /* rosa estilo Instagram */
    }

/* bloco de comentários */
.ccs-event-comments {
    margin-top: 8px;
    border-top: 1px solid #eee;
    padding-top: 6px;
}

/* cada comentário */
.ccs-comment-item {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

/* bolinha com inicial */
.ccs-comment-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

/* caixa do comentário */
.ccs-comment-bubble {
    background: #f3f4f6;
    border-radius: 12px;
    padding: 6px 10px;
    max-width: 100%;
}

.ccs-comment-meta {
    font-size: 11px;
    color: #555;
    margin-bottom: 2px;
}

.ccs-comment-text {
    font-size: 13px;
    color: #111;
}

/* campo de digitar */
.ccs-comment-form {
    margin-top: 4px;
    display: flex;
    gap: 6px;
}

.ccs-comment-input {
    flex: 1;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #ccc;
}

.ccs-comment-send {
    padding: 6px 12px;
    border-radius: 999px;
    border: none;
    background: #2563eb;
    color: white;
    cursor: pointer;
}

    .ccs-comment-send:hover {
        background: #1d4ed8;
    }


/* ❤️ corrigir visibilidade do coração */

.ccs-like-heart {
    color: #333 !important; /* cor padrão visível */
    opacity: 1 !important; /* garante visível */
    display: inline-block;
}

/* quando curtido */
.ccs-like-btn.is-liked .ccs-like-heart {
    color: #e0245e !important; /* rosa instagram */
}

/* evita sumir em hover de temas */
.ccs-like-btn:hover .ccs-like-heart {
    color: #e0245e;
}

.ccs-like-btn.is-liked .ccs-like-heart {
    transform: scale(1.15);
    transition: .15s;
}

/* 🔢 corrigir visibilidade do contador de curtidas */

.ccs-like-count {
    opacity: 1 !important;
    color: #333 !important;
    display: inline-block;
    visibility: visible !important;
}

/* tema escuro (opcional) */
body.dark .ccs-like-count {
    color: #fff !important;
}


.ccs-light-prev,
.ccs-light-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    font-size: 22px;
    padding: 8px 12px;
    border-radius: 10px;
    cursor: pointer;
}

.ccs-light-prev {
    left: 10px;
}

.ccs-light-next {
    right: 10px;
}




.ccs-comment-actions {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

    .ccs-comment-actions button {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 13px !important;
        color: #222 !important;
        background: #f4f4f4;
        border: 1px solid #ddd;
        padding: 2px 6px;
        border-radius: 6px;
        cursor: pointer;
        white-space: nowrap;
    }

    .ccs-comment-actions .ico {
        font-size: 14px;
    }

    .ccs-comment-actions .lbl {
        display: inline !important;
        color: #222 !important;
    }


.ccs-photos-more {
    cursor: pointer;
    margin-top: 8px;.ccs-wa-event {
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 6px 10px;
    border-radius: 8px;
}



/* títulos dos blocos de eventos */
.ccs-card h1 {
    font-size: 18px;
    margin: 14px 0 8px 0;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 6px;
}

    /* HOJE */
    .ccs-card h1:nth-of-type(1) {
        color: #1d4ed8;
    }

    /* PRÓXIMOS */
    .ccs-card h1:nth-of-type(2) {
        color: #15803d;
    }

    /* PASSADOS */
    .ccs-card h1:nth-of-type(3) {
        color: #b45309;
    }




/* 🔎 título do evento */
.ccs-event-title {
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* 🕒 quando acontece */
.ccs-event-when {
    font-size: 16px !important;
}

/* ✍ descrição do evento */
.ccs-event-desc {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* 📍 local */
.ccs-event-local {
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* ❤️ área social */
.ccs-event-social {
    font-size: 16px !important;
}



.ccs-card-head h1 {
    font-size: 26px;
    margin: 0 0 5px 0;
}

.ccs-muted {
    font-size: 14px;
    color: #666;
}



.ccs-role-badge{
  padding:6px 10px;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
  display:inline-block;
}

.ccs-badge-morador{
  background:#e8f1ff;
  color:#0b5cff;
}

.ccs-badge-sindico{
  background:#f3e8ff;
  color:#7b00b5;
}

.ccs-badge-colab{
  background:#fff2e0;
  color:#c77200;
}

.ccs-pill{
  background:#f2f2f2;
  padding:6px 10px;
  border-radius:12px;
  font-size:13px;
}



/* Mercado – prévia das fotos */
.ccs-photo-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.ccs-photo-preview img.ccs-photo-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,.08);
}

/* Mensagens do Mercado */
.ccs-msg {
    margin-top: 8px;
    font-size: 13px;
}

.ccs-msg.is-success {
    color: #1b7c3c;
}

.ccs-msg.is-error {
    color: #b3261e;
}

.ccs-msg.is-info {
    color: #0b57d0;
}


/* container */
.ccs-access-type{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

/* cada opção */
.ccs-radio-btn{
  display: flex;
  align-items: center;
  gap: 8px;

  border: 2px solid #ddd;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  background: #fafafa;
}

/* rádio maior e alinhado */
.ccs-radio-btn input[type="radio"]{
  accent-color: #2563eb;
  width: 18px;
  height: 18px;
  margin: 0;
}

/* texto alinhado */
.ccs-radio-btn span{
  display: inline-block;
  font-size: 15px;
  line-height: 1.2;
}

/* hover */
.ccs-radio-btn:hover{
  background:#eef5ff;
  border-color:#2563eb33;
}

/* selecionado */
.ccs-radio-btn input[type="radio"]:checked + span{
  font-weight: 600;
  color:#2563eb;
}

.event-status{
    margin-top: 6px;
    margin-bottom: 4px;
}

/* 📱 MOBILE */
@media (max-width: 640px){
  .ccs-access-type{
    grid-template-columns: 1fr;
  }
}

.ccs-event-item.from-map-highlight{
    box-shadow:0 0 0 2px #22c55e;
    animation:ccsPulseBorder .6s ease-in-out 2;
}

@keyframes ccsPulseBorder{
    0%{
        box-shadow:0 0 0 0 rgba(34,197,94,0);
    }
    50%{
        box-shadow:0 0 0 4px rgba(34,197,94,0.7);
    }
    100%{
        box-shadow:0 0 0 0 rgba(34,197,94,0);
    }
}



.colab-pin{
    font-size:30px;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,.45));
}



#ccs_save_profile { display:none; }



/* ======================================================
   UX POLISH – App-like Experience (non-breaking)
   ====================================================== */

:root{
  --ccs-radius: 16px;
  --ccs-pad: clamp(12px, 2vw, 20px);
  --ccs-shadow: 0 8px 22px rgba(0,0,0,.08);
  --ccs-text-main: #1f2937;
  --ccs-text-muted: #6b7280;
  --ccs-bg-soft: #f9fafb;
}

/* Header / Top area */
.ccs-header,
.ccs-top,
.ccs-user-box{
  padding: var(--ccs-pad);
  border-radius: var(--ccs-radius);
}

/* Typography scaling */
.ccs-header h1,
.ccs-card h3{
  font-size: clamp(18px, 2.5vw, 24px);
}

.ccs-muted,
.ccs-meta{
  color: var(--ccs-text-muted);
  font-size: clamp(13px, 1.8vw, 15px);
}

/* Cards */
.ccs-card{
  border-radius: var(--ccs-radius);
  box-shadow: var(--ccs-shadow);
  transition: transform .15s ease, box-shadow .15s ease;
}

.ccs-card:active{
  transform: scale(.985);
}

/* Buttons */
.ccs-btn,
button.ccs-btn,
a.ccs-btn{
  border-radius: 999px;
  padding: 12px 18px;
  font-size: clamp(14px, 2vw, 16px);
}

.ccs-btn-primary{
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}

/* Mobile comfort */
@media(max-width:768px){
  .ccs-grid{
    gap: 16px;
  }
  .ccs-btn{
    min-height: 48px;
  }
}

/* Subtle feedback */
.ccs-card:hover{
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

/* ======================================================
   TOP HEADER – App Style + Mobile First
   ====================================================== */

.ccs-app-header{
  background: linear-gradient(180deg,#ffffff,#f6f7f9);
  border-radius: 18px;
  padding: clamp(14px,3vw,22px);
  margin-bottom: 16px;
}

.ccs-app-header h1{
  font-size: clamp(20px,3vw,26px);
  margin-bottom: 4px;
}

.ccs-app-header .ccs-greet{
  font-size: clamp(16px,2.5vw,20px);
  font-weight: 600;
}

.ccs-app-header .ccs-status{
  margin-top: 6px;
  font-size: 14px;
  color: var(--ccs-text-muted);
}

/* Quick actions */
.ccs-quick-actions{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-top: 14px;
}

.ccs-quick-actions a{
  background:#fff;
  border-radius: 14px;
  padding: 14px 10px;
  text-align:center;
  box-shadow: var(--ccs-shadow);
  font-weight:600;
}

/* Mobile app feel */
@media(max-width:768px){
  body{
    background: var(--ccs-bg-soft);
  }
  .ccs-app-header{
    position: sticky;
    top: 0;
    z-index: 20;
  }
}




