/* ClubConnect Directory styles — allineate al look di Offerte/Eventi */
.cc-directory { margin: 1rem 0; position: relative; z-index: 1; }
.cc-directory__toolbar { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; background: #fff; padding: .5rem 0; border-bottom: 1px solid #E5E7EB; }
.cc-directory__toolbar label { display: flex; flex-direction: row; align-items: center; gap: .5rem; }
.cc-directory__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; min-height: 240px; margin-top: 50px; }
.cc-directory__items.is-empty { min-height: 420px; }
/* Card sponsor: stesso stile delle card di offerte/eventi */
.cc-card { background: #fff; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); padding: .9rem; display: flex; flex-direction: column; gap: .6rem; box-shadow: 0 10px 24px rgba(15,23,42,0.08); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; will-change: transform; cursor: pointer; }
.cc-directory .cc-card { text-align: center; }
.cc-card:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(15,23,42,0.14); border-color: #D1D5DB; }
.cc-card__logo { width: 100%; height: 180px; object-fit: contain; border-radius: var(--cc-radius-controls); background: #fafafa; transition: transform .22s ease, filter .22s ease; }
.cc-card:hover .cc-card__logo { transform: scale(1.03); filter: brightness(1.05); }
.cc-card__title { font-size: 1.1rem; margin: .25rem 0; color: #540201; }
.cc-directory .cc-card__title, .cc-directory .cc-card__meta, .cc-directory .cc-card__link { text-align: center; }
.cc-card__title a { color: #540201; }
.cc-card__meta { color: #666; font-size: .875rem; }

/* Responsive grid: colonne e altezze logo */
@media (min-width: 1280px) { .cc-directory__items { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) and (max-width: 1279px) { .cc-directory__items { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 640px) and (max-width: 1023px) { .cc-directory__items { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) { .cc-directory__items { grid-template-columns: 1fr; } }

@media (max-width: 1024px) { .cc-card__logo { height: 160px; } }
@media (max-width: 640px) { .cc-card__logo { height: 140px; } }
.cc-card__link { color: #1F2937; text-decoration: none; word-break: break-all; }
.cc-card__link:hover { text-decoration: underline; }
.cc-directory__pagination { display: flex; gap: .75rem; align-items: center; justify-content: center; margin-top: 1.5rem; position: relative; z-index: 2; }
.cc-directory__toplink { display: flex; justify-content: center; margin-top: 12px; }
.cc-directory .cc-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 8px; }
.cc-directory .cc-carousel__prev,
.cc-directory .cc-carousel__next { position: static; transform: none; }
.cc-pager__info { color: #444; }
@media (max-width: 768px) {
  /* Nascondi il testo "Pagina X di Y" su mobile/tablet per interfaccia più pulita */
  .cc-pager__info { display: none; }
}
.cc-empty { color: #666; text-align: center; padding: 1rem 0; }

/* Custom select menu styling for toolbar filters (Livello/Settore) */
.cc-directory__toolbar .cc-selectmenu { position: relative; display: inline-flex; align-items: center; width: auto; }
.cc-directory__toolbar .cc-selectmenu__button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 8px;
  width: auto;
  padding: 8px 12px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls);
  background: var(--cc-color-bg, #F6FBF7); color: #111827; font-size: var(--cc-font-size-sm, 14px); cursor: pointer;
}
.cc-directory__toolbar .cc-selectmenu__button:hover { border-color: #D1D5DB; }
.cc-directory__toolbar .cc-selectmenu__button:focus { outline: none; border-color: #f59e0b; box-shadow: inset 0 3px 0 #f59e0b; }
.cc-directory__toolbar .cc-selectmenu__button .cc-caret { font-size: var(--cc-font-size-xs, 12px); color: #6b7280; transition: transform .2s ease; }
.cc-directory__toolbar .cc-selectmenu.is-open .cc-selectmenu__button .cc-caret { transform: rotate(180deg); }
.cc-directory__toolbar .cc-selectmenu__menu { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--cc-color-bg, #F6FBF7); border: 1px solid #E5E7EB; box-shadow: 0 8px 20px rgba(0,0,0,0.08); border-radius: var(--cc-radius-controls); padding: 6px; min-width: 160px; z-index: 10010; }
.cc-directory__toolbar .cc-selectmenu__menu button { display: block; width: 100%; text-align: left; padding: 6px 8px; border: 0; background: transparent; cursor: pointer; font-size: var(--cc-font-size-sm, 14px); border-radius: var(--cc-radius-controls); }
.cc-directory__toolbar .cc-selectmenu__menu button:hover { background: #f3f4f6; }

/* Home: usa la larghezza del contenitore centrale e mostra 4 colonne */
@media (min-width: 1024px) {
  .cc-home .cc-directory__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cc-home .cc-card { grid-column: auto; }
}

/* Sponsors page: 4 colonne */
@media (min-width: 1024px) {
  .cc-page-sponsors .cc-directory__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Home: container centrale ripristinato a max-width 1100px */
.cc-home .cc-home__hero,
.cc-home .cc-home__vipotrento,
.cc-home .cc-home__sponsors {
  max-width: var(--wp--style--global--content-size, 1280px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
