/* ---- Barra filtri (stile editoriale navy/blu, match /podcastecm/) ---- */
.dc-hub-filters{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin:28px 0 24px;padding:16px 18px;background:#f8fafc;border:1px solid #e6ebf2;border-radius:16px}
.dc-hub-filters .dc-hub-flabel{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0a1628;margin-right:2px}
.dc-hub-filters .dc-hub-flabel svg{width:16px;height:16px;color:#0066cc}
/* ricerca con icona */
.dc-hub-search{position:relative;flex:1 1 220px;min-width:180px}
.dc-hub-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#94a3b8;pointer-events:none}
.dc-hub-search input[type=search]{width:100%;box-sizing:border-box;padding:11px 14px 11px 38px;border:1px solid #d1d5db;border-radius:999px;font-size:14.5px;font-family:inherit;color:#0a1628;background:#fff;transition:border-color .15s,box-shadow .15s}
.dc-hub-search input[type=search]::placeholder{color:#94a3b8}
.dc-hub-search input[type=search]:focus{outline:none;border-color:#0066cc;box-shadow:0 0 0 3px rgba(0,102,204,.14)}
/* select pill custom */
.dc-hub-filters select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 36px 10px 14px;border:1px solid #d1d5db;border-radius:999px;font-size:14px;font-family:inherit;font-weight:600;color:#0a1628;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230066cc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dc-hub-filters select:hover{border-color:#0066cc}
.dc-hub-filters select:focus{outline:none;border-color:#0066cc;box-shadow:0 0 0 3px rgba(0,102,204,.14)}
/* toggle "Novità" come pill */
.dc-hub-chk{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #d1d5db;border-radius:999px;font-size:14px;font-weight:600;color:#0a1628;background:#fff;cursor:pointer;user-select:none;transition:all .15s}
.dc-hub-chk input{accent-color:#0066cc;width:15px;height:15px;cursor:pointer;margin:0}
.dc-hub-chk:has(input:checked){background:#0066cc;border-color:#0066cc;color:#fff}
.dc-hub-chk:has(input:checked) input{accent-color:#fff}

/* ---- Griglia card ---- */
.dc-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;margin-top:8px}
.dc-hub-card{border:1px solid #e6ebf2;border-radius:16px;overflow:hidden;background:#fff;transition:box-shadow .18s,transform .18s}
.dc-hub-card:hover{box-shadow:0 16px 40px rgba(15,23,42,.13);transform:translateY(-3px)}
.dc-hub-card-link{display:block;color:inherit;text-decoration:none}
.dc-hub-card-cover{display:block;aspect-ratio:16/10;background:#0a3d62 center/cover no-repeat}
.dc-hub-card-status{display:inline-block;margin:12px 16px 0;padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.dc-hub-card-status--expired{background:#f1f5f9;color:#64748b}
.dc-hub-card-status--not_yet_open{background:#dbeafe;color:#1d4ed8}
.dc-hub-card-status--sold_out,.dc-hub-card-status--closed{background:#fef3c7;color:#92400e}
.dc-hub-card[data-state="expired"]{opacity:.72}
.dc-hub-card-body{display:block;padding:14px 16px 18px}
.dc-hub-card-title{display:block;font-weight:700;font-size:16.5px;line-height:1.3;margin-bottom:7px;color:#0a1628}
.dc-hub-card-meta{display:block;font-size:13px;color:#64748b}
.dc-hub-card-where{display:block;font-size:13px;font-weight:600;color:#0066cc;margin:0 0 5px}

/* nessun risultato */
.dc-hub-empty{display:none;padding:28px;text-align:center;color:#64748b;font-size:15px}

/* ---- Responsive ---- */
@media(max-width:768px){
  .dc-hub-filters{padding:14px;gap:10px}
  .dc-hub-search{flex:1 1 100%}
  .dc-hub-filters select,.dc-hub-chk{flex:1 1 auto}
}
@media(max-width:480px){
  .dc-hub-grid{grid-template-columns:1fr;gap:16px}
  .dc-hub-filters .dc-hub-flabel{flex:1 1 100%;margin-bottom:2px}
}

/* ---- Combobox ricercabile (es. filtro Professione) ---- */
.dc-hub-combo{position:relative}
.dc-hub-combo-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;border-radius:999px;font-size:14px;font-weight:600;font-family:inherit;color:#0a1628;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dc-hub-combo-btn:hover{border-color:#0066cc}
.dc-hub-combo-btn>svg{width:16px;height:16px;color:#0066cc;flex:none}
.dc-hub-combo-caret{width:12px;height:8px;color:#0066cc;margin-left:2px}
.dc-hub-combo-label{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-hub-combo-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:260px;max-width:330px;background:#fff;border:1px solid #e6ebf2;border-radius:12px;box-shadow:0 18px 45px -18px rgba(15,23,42,.35);padding:8px}
.dc-hub-combo-search-wrap{position:relative;margin-bottom:6px}
.dc-hub-combo-search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#94a3b8;pointer-events:none}
.dc-hub-combo-search{width:100%;box-sizing:border-box;padding:9px 12px 9px 33px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#0a1628}
.dc-hub-combo-search::placeholder{color:#94a3b8}
.dc-hub-combo-search:focus{outline:none;border-color:#0066cc;box-shadow:0 0 0 3px rgba(0,102,204,.14)}
.dc-hub-combo-list{list-style:none;margin:0;padding:0;max-height:258px;overflow:auto}
.dc-hub-combo-list li{padding:8px 11px;border-radius:7px;font-size:14px;color:#0a1628;cursor:pointer}
.dc-hub-combo-list li:hover{background:#f1f5f9}
.dc-hub-combo-list li.is-active{background:#0066cc;color:#fff;font-weight:600}
@media(max-width:480px){.dc-hub-combo,.dc-hub-combo-btn{width:100%}.dc-hub-combo-panel{min-width:0;width:100%;max-width:none}.dc-hub-combo-label{max-width:none;flex:1}}

/* ---- Catalogo: badge tipo sulla card ---- */
.dc-hub-card{position:relative}
.dc-hub-card-type{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:rgba(10,22,40,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 2px 10px rgba(0,0,0,.2)}
.dc-hub-card-type::before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.95}
.dc-hub-card-type--podcast{color:#5fb0ff}
.dc-hub-card-type--elearning{color:#46d39a}
.dc-hub-card-type--webinar{color:#b58cf0}
.dc-hub-card-type--residenziale{color:#f0a868}

/* Card nascosta (visibile solo agli admin) */
.dc-hub-card--hidden { position: relative; outline: 2px dashed #94a3b8; outline-offset: 2px; opacity: .92; }
.dc-hub-card-hiddenbadge {
  position: absolute; top: 10px; right: 10px; z-index: 3;
  background: #1a1311; color: #fff; font-size: 10.5px; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
