/* ClubConnect Global Theme — VIPO Trento branding */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
:root {
  --cc-color-primary: #0B5FFF; /* accent blue from graphic */
  --cc-color-secondary: #0AA84F; /* supporting green */
  --cc-color-bg: #FFFFFF;
  --cc-color-surface: #FFFFFF;
  --cc-color-text: #0F172A;
  --cc-color-muted: #64748B;
  --cc-color-sidebar-bg: #0F172A; /* dark navy like mockup */
  --cc-color-sidebar-hover: #111827;
  --cc-color-sidebar-text: #E5E7EB;
  --cc-color-sidebar-active: #1F2937;
  --cc-radius: 0px; /* global corners squared */
  --cc-radius-controls: 0px; /* squared controls */
  --cc-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
  --cc-spacing: 14px;
  --cc-font-base: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  --cc-sidebar-width: 260px;
  /* Primary button color requested */
  --cc-color-button-primary: #540201;
  /* Typographic scale (define missing vars to avoid fallback to browser defaults) */
  --cc-font-size-base: 16px;
  --cc-font-size-sm: 14px;
  --cc-font-size-xs: 12px;
  --cc-font-size-nav: 14px;
  --cc-font-size-h1: 28px;
  --cc-font-size-h2: 22px;
  --cc-font-size-h3: 18px;
  --cc-font-size-h4: 16px;
}

/* Base */
html, body {
  height: 100%;
}
body {
  margin: 0;
  color: var(--cc-color-text);
  background: var(--cc-color-bg);
}
/* Smooth scrolling for anchor navigation */
html { scroll-behavior: smooth; }

/* Forza l'uso dello stesso font in tutti gli elementi dell'interfaccia */
.cc-container, .cc-card, .cc-topbar,
.cc-brand-sidebar, .cc-dashboard, .cc-brand-footer,
.cc-offers, .cc-events, .cc-directory, .cc-inbox, .cc-comms {
  font-family: var(--cc-font-base);
}

a { color: var(--cc-color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 { color: var(--cc-color-text); margin: 0 0 calc(var(--cc-spacing) * 0.8); }
p { color: var(--cc-color-muted); line-height: 1.6; }

/* Typographic scale for headings */
h1 { font-size: var(--cc-font-size-h1); line-height: 1.25; font-weight: 700; }
h2 { font-size: var(--cc-font-size-h2); line-height: 1.3; font-weight: 700; }
h3 { font-size: var(--cc-font-size-h3); line-height: 1.35; font-weight: 600; }
h4 { font-size: var(--cc-font-size-h4); line-height: 1.4; font-weight: 600; }

/* Containers: respect WordPress global content width variables if present */
.cc-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 calc(var(--cc-spacing) * 1.5);
}
.cc-container.cc-container--wide {
  max-width: 1280px;
}
.cc-dashboard--fullscreen .cc-container { max-width: 100%; }

/* Allineamento titolo pagina (lista/dettaglio Offerte/Eventi) */
.cc-page-title { text-align: left !important; }
/* Titoli del Portale Pubblico centrati */
#events-title, #offers-title { text-align: center; }

/* Singolo Evento/Offerta: il titolo non deve avere padding */
body.single.single-event .cc-page-title,
body.single.single-offer .cc-page-title {
  padding: 0 !important;
}

/* Toolbar e scope responsive per liste Offerte/Eventi: evita overflow orizzontale */
.cc-offers, .cc-events { max-width: 100%; overflow-x: visible; }
.cc-offers__toolbar, .cc-events__toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cc-offers__scope, .cc-events__scope { display: flex !important; flex-wrap: wrap; gap: 6px; }
.cc-offers .button, .cc-events .button { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .cc-offers .button, .cc-events .button { padding: .5rem .6rem; }
}

.cc-offer-detail, .cc-event-detail { text-align: left; }
.cc-offer-detail h1, .cc-offer-detail h2, .cc-offer-detail h3,
.cc-event-detail h1, .cc-event-detail h2, .cc-event-detail h3 { text-align: left; line-height: 1.25; margin: 0 0 .75rem; }
.cc-offer-detail p, .cc-event-detail p { margin: 0 0 .75rem; color: #111; }
.cc-offer__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; }
.cc-offer__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.cc-offer__actions .button, .cc-offer__actions .cc-btn {
  height: 44px;
  padding: 0 .9rem;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .cc-offer__actions { flex-direction: column; align-items: stretch; }
  .cc-offer__actions .button, .cc-offer__actions .cc-btn { width: 100%; }
}
.cc-offer-detail .cc-offer__actions .button, .cc-offer-detail .cc-offer__actions .cc-btn {
  background: var(--cc-color-button-primary);
  color: #fff;
  border-color: var(--cc-color-button-primary);
  box-shadow: 0 6px 16px rgba(84, 2, 1, 0.2);
}
.cc-offer-detail .cc-offer__actions .button:hover, .cc-offer-detail .cc-offer__actions .cc-btn:hover { filter: brightness(0.98); text-decoration: none; }
.cc-offer-detail .cc-offer__actions .button[disabled], .cc-offer-detail .cc-offer__actions .cc-btn[disabled] { opacity: .7; cursor: not-allowed; }
.cc-offer-detail .button.button-primary {
  background: var(--cc-color-button-primary);
  color: #fff;
  border-color: var(--cc-color-button-primary);
  box-shadow: 0 6px 16px rgba(84, 2, 1, 0.2);
}
.cc-offer-detail .button.button-primary:hover { filter: brightness(0.98); }
.cc-offer-detail .button.button-primary[disabled] { opacity: .7; cursor: not-allowed; }
.cc-sponsor-banner span { line-height: 1.2; }

/* Fix doppia scrollbar: assicura che lo scorrimento avvenga sulla pagina, non su wrapper interni del tema */
body.page.page-offerte .wp-block-post-content,
body.page.page-offerte .wp-block-group,
body.page.page-eventi .wp-block-post-content,
body.page.page-eventi .wp-block-group {
  overflow-y: visible !important;
  height: auto !important;
}
/* Ulteriore difesa: i contenitori principali delle liste non devono creare uno scroll separato */
#cc-offers, #cc-events {
  overflow-y: visible !important;
}
/* Estendi l'override ai wrapper principali del tema (wp-site-blocks, entry-content) per evitare scroll interno residuo */
body.page.page-offerte .wp-site-blocks,
/* Evita scroll interno su wrapper principali quando sono presenti le viste ClubConnect (Offerte/Eventi) */
/* Supporto ampio: usa una classe JS (cc-page-offers / cc-page-events) e un selettore :has per fallback */
body.cc-page-offers .wp-site-blocks,
body.cc-page-offers main,
body.cc-page-offers .entry-content,
body:has(#cc-offers) .wp-site-blocks,
body:has(#cc-offers) main,
body:has(#cc-offers) .entry-content {
  overflow-y: visible !important;
  height: auto !important;
}
body.cc-page-events .wp-site-blocks,
body.cc-page-events main,
body.cc-page-events .entry-content,
body:has(#cc-events) .wp-site-blocks,
body:has(#cc-events) main,
body:has(#cc-events) .entry-content {
  overflow-y: visible !important;
  height: auto !important;
}

/* (Rimosso) Stili breadcrumb/titolo generici: il titolo viene ora inserito direttamente nei template */

/* Cards */
.cc-card {
  background: var(--cc-color-surface);
  border-radius: var(--cc-radius);
  box-shadow: var(--cc-shadow);
  padding: calc(var(--cc-spacing) * 1);
}

/* Buttons */
.cc-btn {
  appearance: none;
  background: var(--cc-color-button-primary);
  color: #fff;
  border: none;
  border-radius: var(--cc-radius-controls);
  padding: 10px 18px;
  font-weight: 600;
  font-size: var(--cc-font-size-sm);
  cursor: pointer;
  transition: transform 0.06s ease, box-shadow 0.2s ease;
  box-shadow: 0 6px 16px rgba(84, 2, 1, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cc-btn:hover { transform: translateY(-1px); }
.cc-btn.secondary { background: var(--cc-color-secondary); box-shadow: 0 6px 16px rgba(10,168,79,0.25); }
.cc-btn.cc-btn-secondary { background: var(--cc-color-secondary); box-shadow: 0 6px 16px rgba(10,168,79,0.25); }
.cc-btn, .cc-btn:hover { text-decoration: none; }

/* WordPress buttons in ClubConnect views */
.cc-offer-detail .button,
.cc-event-detail .button,
.cc-offers .button,
.cc-events .button,
.cc-directory .button,
.cc-inbox .button,
.cc-comms .button {
  appearance: none;
  border-radius: var(--cc-radius-controls);
  padding: 8px 12px;
  font-weight: 600;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: var(--cc-color-text);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}
.cc-offer-detail .button:hover,
.cc-event-detail .button:hover,
.cc-offers .button:hover,
.cc-events .button:hover,
.cc-directory .button:hover,
.cc-inbox .button:hover,
.cc-comms .button:hover { border-color: #D1D5DB; }
.cc-offer-detail .button.button-secondary,
.cc-event-detail .button.button-secondary,
.cc-offers .button.button-secondary,
.cc-events .button.button-secondary { border-color: #E5E7EB; }
.cc-offer-detail .button[disabled],
.cc-event-detail .button[disabled],
.cc-offers .button[disabled],
.cc-events .button[disabled] { opacity: 0.6; cursor: not-allowed; }

/* Inputs — underline style within ClubConnect views */
.cc-offers input[type="text"], .cc-offers input[type="email"], .cc-offers input[type="url"], .cc-offers input[type="number"], .cc-offers input[type="date"], .cc-offers input[type="datetime-local"], .cc-offers input[type="search"], .cc-offers select, .cc-offers textarea,
.cc-events input[type="text"], .cc-events input[type="email"], .cc-events input[type="url"], .cc-events input[type="number"], .cc-events input[type="date"], .cc-events input[type="datetime-local"], .cc-events input[type="search"], .cc-events select, .cc-events textarea,
.cc-directory input[type="text"], .cc-directory input[type="email"], .cc-directory input[type="url"], .cc-directory input[type="number"], .cc-directory input[type="date"], .cc-directory input[type="datetime-local"], .cc-directory input[type="search"], .cc-directory select, .cc-directory textarea,
.cc-dashboard input[type="text"], .cc-dashboard input[type="password"], .cc-dashboard input[type="email"], .cc-dashboard input[type="url"], .cc-dashboard input[type="number"], .cc-dashboard input[type="date"], .cc-dashboard input[type="datetime-local"], .cc-dashboard input[type="search"], .cc-dashboard select, .cc-dashboard textarea,
.cc-inbox input[type="text"], .cc-inbox input[type="email"], .cc-inbox input[type="url"], .cc-inbox input[type="number"], .cc-inbox input[type="date"], .cc-inbox input[type="datetime-local"], .cc-inbox input[type="search"], .cc-inbox select, .cc-inbox textarea,
.cc-comms input[type="text"], .cc-user-pass input[type="password"], .cc-comms input[type="email"], .cc-comms input[type="url"], .cc-comms input[type="number"], .cc-comms input[type="date"], .cc-comms input[type="datetime-local"], .cc-comms input[type="search"], .cc-comms select, .cc-comms textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #CBD5E1; /* slate-300 */
  border-radius: 0;
  padding: 6px 0; /* nessun padding orizzontale per allineare al bordo */
  outline: none;
  font-family: var(--cc-font-base);
  font-size: var(--cc-font-size-base);
  background: transparent; /* usa lo sfondo della pagina */
  box-shadow: none;
  transition: border-color .15s ease, background-color .15s ease;
}
.cc-offers input:focus, .cc-offers select:focus, .cc-offers textarea:focus,
.cc-events input:focus, .cc-events select:focus, .cc-events textarea:focus,
.cc-directory input:focus, .cc-directory select:focus, .cc-directory textarea:focus,
.cc-dashboard input:focus, .cc-dashboard select:focus, .cc-dashboard textarea:focus,
.cc-inbox input:focus, .cc-inbox select:focus, .cc-inbox textarea:focus,
.cc-comms input:focus, .cc-comms select:focus, .cc-comms textarea:focus {
  border-bottom-color: var(--cc-color-primary);
  box-shadow: none;
}
.cc-offers input::placeholder, .cc-offers textarea::placeholder,
.cc-events input::placeholder, .cc-events textarea::placeholder,
.cc-directory input::placeholder, .cc-directory textarea::placeholder,
.cc-dashboard input::placeholder, .cc-dashboard textarea::placeholder,
.cc-inbox input::placeholder, .cc-inbox textarea::placeholder,
.cc-comms input::placeholder, .cc-comms textarea::placeholder { color: #94a3b8; }

/* Elegant form styling within ClubConnect views */
.cc-offers form, .cc-events form, .cc-directory form, .cc-inbox form, .cc-comms form, .cc-dashboard form {
  font-family: var(--cc-font-base);
  font-size: var(--cc-font-size-base);
  color: var(--cc-color-text);
}
.cc-offers form label,
.cc-events form label,
.cc-directory form label,
.cc-inbox form label,
.cc-comms form label,
.cc-dashboard form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: var(--cc-font-size-sm);
  color: var(--cc-color-muted);
}
.cc-offers form .button,
.cc-events form .button,
.cc-directory form .button,
.cc-inbox form .button,
.cc-comms form .button,
.cc-dashboard form .button { font-size: var(--cc-font-size-sm); }

/* Select improved arrow and padding */
/* Select arrow within views */
.cc-offers select, .cc-events select, .cc-directory select, .cc-dashboard select, .cc-inbox select, .cc-comms select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%239AA3AF" d="M6 8L0 0h12z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 0.25rem center;
  background-size: 12px 8px;
  padding-right: 1.5rem;
}

.cc-directory__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cc-directory__toolbar label { display: inline-flex !important; align-items: center; gap: 8px; color: var(--cc-color-text) !important; white-space: nowrap; }
.cc-directory__toolbar select, .cc-directory__toolbar input[type="search"] { color: var(--cc-color-text) !important; }
.cc-directory__toolbar select option { color: var(--cc-color-text) !important; background-color: #fff; }
.cc-directory__toolbar input[type="search"] { width: auto; min-width: 220px; }

.cc-page-sponsors, .cc-directory { --global-palette-btn: var(--cc-color-text); --global-palette-btn-hover: var(--cc-color-text); }
.cc-page-sponsors select, .cc-directory select { color: var(--cc-color-text) !important; }
.cc-page-sponsors select option, .cc-directory select option { color: var(--cc-color-text) !important; background-color: #fff !important; }
.cc-page-sponsors select:hover, .cc-page-sponsors select:focus,
.cc-directory select:hover, .cc-directory select:focus { color: var(--cc-color-text) !important; background-color: #fff !important; -webkit-text-fill-color: var(--cc-color-text) !important; }
.cc-page-sponsors select option:hover, .cc-directory select option:hover,
.cc-page-sponsors select option:checked, .cc-directory select option:checked,
.cc-page-sponsors select option:focus, .cc-directory select option:focus { color: var(--cc-color-text) !important; background-color: #f3f4f6 !important; }

/* Search field with icon */
input[type="search"] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path fill="%2394A3B8" d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 16px 16px;
  padding-left: 34px;
  border-radius: var(--cc-radius-controls);
}

/* Checkbox & radio accent colors */
input[type="checkbox"], input[type="radio"] {
  accent-color: var(--cc-color-primary);
}

/* Disabled state */
input[disabled], select[disabled], textarea[disabled] {
  background: #f9fafb;
  color: #9ca3af;
  border-color: #e5e7eb;
  cursor: not-allowed;
}

/* Badges */
.cc-badge { display: inline-block; background: var(--cc-color-muted); color: #fff; border-radius: var(--cc-radius-controls); padding: 6px 12px; font-size: var(--cc-font-size-xs); }
.cc-badge--status-pending { background:#F59E0B; color:#111; }
.cc-badge--status-approved { background:#047857; color:#fff; }
/* Light button variant */
.cc-btn.cc-btn-light { background: var(--cc-color-button-primary); color: #fff; border: 1px solid #E5E7EB; box-shadow: none; }
.cc-btn.cc-btn-light:hover  { background: var(--cc-color-button-primary); color: #fff; border: 1px solid #E5E7EB; box-shadow: none; text-decoration: none; }

/* Navbar (optional component) */
.cc-navbar {
  backdrop-filter: saturate(180%) blur(8px);
  background: rgba(255,255,255,0.75);
  border-bottom: 1px solid rgba(15,23,42,0.06);
  position: sticky;
  top: 0;
  z-index: 999;
}
.cc-navbar .cc-container { display: flex; align-items: center; gap: 16px; padding: 12px 18px; }
.cc-navbar .cc-logo { display: flex; align-items: center; gap: 12px; color: var(--cc-color-text); text-decoration: none; }
.cc-navbar .cc-logo img { height: 32px; width: auto; }
.cc-navbar .cc-logo span { font-weight: 700; letter-spacing: .01em; text-transform: none; -webkit-text-stroke: 0; text-shadow: none; }
.cc-navbar .cc-nav { align-items: center; gap: 20px; }
.cc-navbar .cc-nav__user { color: var(--cc-color-muted); font-weight: 600; text-transform: none; letter-spacing: normal; -webkit-text-stroke: 0; text-shadow: none; }
.cc-navbar .cc-nav__user-sponsor { color: var(--cc-color-text); font-weight: 600; text-transform: none; letter-spacing: normal; }
.cc-navbar .cc-nav__link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 6px; color: var(--cc-color-text); text-decoration: none; font-weight: 600; letter-spacing: .01em; text-transform: none; opacity: 0.92; position: relative; transition: color .15s ease, opacity .15s ease; }
.cc-navbar .cc-nav__link::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 2px; height: 2px; background: transparent; transform: scaleX(0); transform-origin: left; transition: transform .2s ease, background-color .2s ease; }
.cc-navbar .cc-nav__link:hover { color: var(--cc-color-primary); opacity: 1; }
.cc-navbar .cc-nav__link:hover::after { background: var(--cc-color-primary); transform: scaleX(1); }
.cc-navbar .cc-nav__link:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 3px; text-decoration: none; }
.cc-navbar .cc-nav__link[aria-current="page"], .cc-navbar .cc-nav__link.is-active { color: var(--cc-color-primary); opacity: 1; }
.cc-navbar .cc-nav__link[aria-current="page"]::after, .cc-navbar .cc-nav__link.is-active::after { background: var(--cc-color-primary); transform: scaleX(1); }
.cc-navbar .cc-nav__link--login, .cc-navbar .cc-nav__link--logout { background: var(--cc-color-button-primary); color: #fff; border-radius: var(--cc-radius-controls); padding: 8px 12px; line-height: 1; border: 1px solid #E5E7EB; }
.cc-navbar .cc-nav__link--login:hover, .cc-navbar .cc-nav__link--logout:hover { filter: brightness(0.98); color: #fff; }
.cc-navbar .cc-nav__link--login:focus-visible, .cc-navbar .cc-nav__link--logout:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }

@media (max-width: 1024px) {
  .cc-navbar .cc-container { padding: 10px 14px; }
  .cc-navbar .cc-nav { gap: 16px; }
}
@media (max-width: 768px) {
  .cc-navbar .cc-logo img { height: 28px; }
  .cc-navbar .cc-logo span { font-size: 0.95em; }
  .cc-navbar .cc-nav { gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .cc-navbar .cc-nav::-webkit-scrollbar { display: none; }
  .cc-navbar .cc-nav__link { padding: 8px 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-navbar .cc-nav__link { transition: none; }
  .cc-navbar .cc-nav__link::after { transition: none; }
}

/* WordPress primary menu — intentionally left without plugin styles to avoid conflicts with theme */
/* Active scope button dark style */
#cc-offers-scope-public,
#cc-offers-scope-mine,
#cc-events-scope-public,
#cc-events-scope-mine { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.cc-scope--active { background: #1F2937 !important; color: #fff !important; border-color: #1F2937 !important; }

/* Utility sections */
.cc-section { margin-top: calc(var(--cc-spacing) * 2); scroll-margin-top: var(--cc-topbar-height); }
/* Ensure all dashboard anchor targets are offset below the fixed topbar */
[id^="cc-section-"] { scroll-margin-top: var(--cc-topbar-height); }

.cc-dashboard .cc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cc-dashboard .cc-badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-dashboard .cc-actions { display:flex; align-items:center; gap:8px; }
@media (max-width: 768px) { .cc-dashboard .cc-head { flex-direction: column; align-items: stretch; gap: 10px; } .cc-dashboard .cc-actions { justify-content: flex-start; } }
.cc-dashboard .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; color:#fff; }
.cc-dashboard .cc-badge.is-active { background:#1F2937; color:#fff; }
.cc-dashboard .cc-badge:hover { background:#374151; color:#fff; text-decoration:none; }
.cc-dashboard .cc-badge.is-active:hover { background:#273449; color:#fff; }
.cc-dashboard .cc-badge:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; text-decoration: none; }
.cc-dashboard .cc-table-actions { display:flex; align-items:center; gap:8px; }
.cc-dashboard .cc-badge--unassigned { background:#E5E7EB; color:#111827; }
.cc-dashboard .cc-badge--unassigned:hover { background:#D1D5DB; color:#111827; }
.cc-dashboard .cc-badge--unassigned.is-active { background:#D1D5DB; color:#111827; }
.cc-dashboard .cc-badge--assigned { background:#D1FAE5; color:#065F46; }
.cc-dashboard .cc-badge--assigned:hover { background:#A7F3D0; color:#065F46; }
.cc-dashboard .cc-badge--assigned.is-active { background:#A7F3D0; color:#065F46; }
.cc-dashboard .cc-actions .cc-btn:not(.cc-btn-light):hover { filter: brightness(0.96); box-shadow: 0 8px 18px rgba(84, 2, 1, 0.30); text-decoration: none; }
.cc-dashboard .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-dashboard .cc-action .cc-icon { width: 14px; height: 14px; }

/* Brand mini-footer */
.cc-brand-footer {
  border-top: 1px solid rgba(15,23,42,0.08);
  background: rgba(255,255,255,0.85);
  backdrop-filter: saturate(180%) blur(6px);
}
.cc-brand-footer .cc-container { padding: 12px 18px; }
.cc-brand-footer__text { margin: 0; font-size: var(--cc-font-size-nav); color: var(--cc-color-muted); }
.cc-brand-footer__brand { color: var(--cc-color-text); font-weight: 700; }
.cc-brand-footer a { color: var(--cc-color-text); font-weight: 600; text-decoration: none; }
.cc-brand-footer a:hover { text-decoration: underline; }
/* Public pages: center footer text for better visual balance */
.public-area .cc-brand-footer__text { text-align: center; }

/* Layout with sidebar */
body.has-cc-sidebar { margin-left: var(--cc-sidebar-width); }
@media (max-width: 1024px) { body.has-cc-sidebar { margin-left: 0; } }
/* Collapsed sidebar overrides */
body.has-cc-sidebar.is-collapsed { --cc-sidebar-width: 72px; }
/* Quando il drawer è aperto su mobile, blocca lo scroll del body */
body.is-locked { overflow: hidden; }
/* When brand sidebar is visible, hide the internal dashboard mini-sidebar to avoid duplication */
body.has-cc-sidebar .cc-dashboard .cc-sidebar.cc-card { display: none; }

/* Dashboard pages: ensure no horizontal page scroll */
body.has-cc-sidebar,
body.has-cc-sidebar .entry-content { max-width: 100%; overflow-x: hidden; }
/* Offerte/Eventi: non nascondere overflow-x perché interferisce con sticky toolbar e può creare scroll interno */
body.has-cc-sidebar.cc-page-offers,
body.has-cc-sidebar.cc-page-events,
body.has-cc-sidebar:has(#cc-offers),
body.has-cc-sidebar:has(#cc-events) { overflow-x: visible !important; }
body.has-cc-sidebar.cc-page-offers .entry-content,
body.has-cc-sidebar.cc-page-events .entry-content,
body.has-cc-sidebar:has(#cc-offers) .entry-content,
body.has-cc-sidebar:has(#cc-events) .entry-content { overflow-x: visible !important; }

/* Topbar matching the graphic — fixed and always visible */
.cc-topbar { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; background: #fff; border-bottom: 1px solid rgba(15,23,42,0.06); }
.cc-topbar .cc-container {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 18px;
  justify-content: flex-end; /* sposta le azioni completamente a destra */
  max-width: 100%; /* usa tutta la larghezza disponibile del topbar */
  margin: 0; /* rimuove il centraggio del container */
}
.cc-topbar__hamburger { display: none; width: 36px; height: 36px; border: 1px solid #E5E7EB; border-radius: 6px; background: #fff; color: var(--cc-color-text); align-items: center; justify-content: center; gap: 4px; cursor: pointer; }
.cc-topbar__hamburger-bar { display: block; width: 18px; height: 2px; background: #111827; border-radius: 2px; }
@media (max-width: 1024px) { .cc-topbar__hamburger { display: inline-flex; order: 99; } .cc-topbar__actions { gap: 8px; order: 1; } }
.cc-topbar__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--cc-color-text); font-weight: 700; text-decoration: none; }
.cc-topbar__brand img { height: 28px; width: auto; }
.cc-topbar__title { font-weight: 700; }
.cc-topbar__actions { margin-left: auto; display: inline-flex; align-items: center; gap: 12px; }
.cc-topbar__user { color: #374151; }
.cc-topbar__logout, .cc-topbar__login { color: var(--cc-color-primary); font-weight: 600; }

/* Content offset when fixed topbar is present */
body.has-cc-topbar { --cc-topbar-height: 52px; padding-top: var(--cc-topbar-height); }

/* Avoid overlap with sidebar when visible */
body.has-cc-sidebar .cc-topbar { left: var(--cc-sidebar-width); width: calc(100% - var(--cc-sidebar-width)); }
@media (max-width: 1024px) { body.has-cc-sidebar .cc-topbar { left: 0; width: 100%; } }

/* Language selector */
.cc-topbar__lang { position: relative; display: inline-flex; align-items: center; gap: 8px; }
.cc-topbar__lang-label { font-size: var(--cc-font-size-xs); color: #6b7280; line-height: 1; margin: 0; letter-spacing: .01em; }
.cc-topbar__lang-current {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 10px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); background: #fff; color: #111827;
  font-size: var(--cc-font-size-sm); cursor: pointer;
}
.cc-topbar__lang-menu { position: absolute; top: calc(100% + 4px); right: 0; background: #fff; 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: 1001; }
.cc-topbar__lang-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); border-radius: var(--cc-radius-controls); }
.cc-topbar__lang-menu button:hover { background: #f3f4f6; }

/* Header notifications (bell) */
.cc-topbar__notif { position: relative; display: inline-flex; align-items: center; }
.cc-topbar__notif-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); background: #fff; color: #374151;
  font-size: var(--cc-font-size-sm); cursor: pointer;
}
.cc-topbar__notif-btn .cc-bell { color: #6b7280; display: inline-flex; }
.cc-topbar__notif-btn.is-active .cc-bell { color: var(--cc-color-primary); animation: cc-blink 1.1s ease-in-out infinite; }
@keyframes cc-blink { 0% { opacity: 1; } 50% { opacity: .35; } 100% { opacity: 1; } }
.cc-topbar__notif-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px;
  background: #ef4444; color: #fff; font-size: 11px; line-height: 1; font-weight: 700;
}
.cc-topbar__notif-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border: 1px solid #E5E7EB;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  border-radius: var(--cc-radius-controls);
  padding: 10px;
  min-width: 280px;
  z-index: 1001;
  transition: opacity .12s ease, transform .12s ease;
  opacity: 1;
  transform: translateY(0);
}
.cc-topbar__notif-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 14px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 1px solid #E5E7EB;
  border-top: 1px solid #E5E7EB;
  transform: rotate(45deg);
}
.cc-topbar__notif-title { font-size: var(--cc-font-size-xs); color: #6b7280; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 4px; }
.cc-topbar__notif-list { list-style: none; margin: 0; padding: 0; }
.cc-topbar__notif-li {
  padding: 8px 8px;
  font-size: var(--cc-font-size-sm);
  border-radius: var(--cc-radius-controls);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-topbar__notif-li:hover { background: #f3f4f6; }
.cc-topbar__notif-empty { font-size: var(--cc-font-size-sm); color: #6b7280; }
.cc-topbar__notif-info { font-size: var(--cc-font-size-sm); color: #111827; }
.cc-topbar__notif-actions { margin-top: 8px; font-size: var(--cc-font-size-sm); color: #6b7280; }
.cc-topbar__notif-actions a { color: var(--cc-color-primary); font-weight: 600; text-decoration: none; }
.cc-topbar__notif-actions a:hover { text-decoration: underline; }

/* Generic select menu — same look & feel as language dropdown */
.cc-selectmenu { position: relative; display: inline-flex; align-items: center; width: 100%; }
.cc-selectmenu__button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 8px;
  width: 100%; padding: 6px 10px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls);
  background: var(--cc-color-bg); color: #111827; font-size: var(--cc-font-size-sm); cursor: pointer;
}
.cc-selectmenu__button .cc-caret { font-size: var(--cc-font-size-xs); color: #6b7280; transition: transform .2s ease; }
.cc-selectmenu.is-open .cc-selectmenu__button .cc-caret { transform: rotate(180deg); }
.cc-selectmenu__menu { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--cc-color-bg); 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: 1001; }
.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); border-radius: var(--cc-radius-controls); }
.cc-selectmenu__menu button:hover { background: #f3f4f6; }

/* User menu */

/* Dashboard page title: reduce vertical spacing and align left when Brand Sidebar is active */
body.has-cc-sidebar .wp-block-post-title,
body.has-cc-sidebar .entry-title,
body.has-cc-sidebar .page-title {
  text-align: left !important;
  margin-top: 10px !important; /* lascia un po' di spazio sopra */
  margin-bottom: 6px !important; /* piccolo spazio sotto il titolo */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.has-cc-sidebar .entry-header,
body.has-cc-sidebar .page-header {
  padding-top: 8px !important; /* separa dal topbar/header */
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Remove extra gaps around first/last content blocks inside dashboard pages */
body.has-cc-sidebar .entry-content > :first-child { margin-top: 0 !important; }
body.has-cc-sidebar .entry-content > :last-child { margin-bottom: 0 !important; }

/* Block theme spacers: hide them globally on pages with brand sidebar (dashboard) */
/* Riduci l'altezza del div sotto/ sopra il titolo (spacer del tema) */
body.has-cc-sidebar .wp-block-spacer { display: block !important; height: 8px !important; margin: 6px 0 !important; padding: 0 !important; }

/* Dashboard generic responsiveness: ensure media and tables fit */
.cc-dashboard img,
.cc-dashboard video,
.cc-dashboard iframe { max-width: 100%; height: auto; }
.cc-dashboard table { width: 100%; border-collapse: collapse; table-layout: auto; }
.cc-dashboard table th,
.cc-dashboard table td { word-break: break-word; hyphens: auto; }
.cc-dashboard .cc-pagination { flex-wrap: wrap; gap: 8px; }
.cc-topbar__user-menu { position: relative; }
.cc-topbar__user-btn { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px; border: 1px solid #e5e7eb; border-radius: var(--cc-radius-controls); background: #fff; cursor: pointer; }
.cc-topbar__avatar { width: 24px; height: 24px; border-radius: var(--cc-radius-controls); background: #facc15; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; color: #111827; font-size: var(--cc-font-size-sm); }
.cc-topbar__username { font-size: var(--cc-font-size-sm); color: #111827; }
.cc-topbar__user-dropdown { position: absolute; right: 0; margin-top: 4px; background: #fff; 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; }
.cc-topbar__user-dropdown a { display: block; padding: 8px 10px; text-decoration: none; color: #111827; font-size: var(--cc-font-size-sm); border-radius: var(--cc-radius-controls); }
.cc-topbar__user-dropdown a:hover { background: #f3f4f6; }
.cc-caret { font-size: var(--cc-font-size-xs); color: #6b7280; }
/* Mobile: riduci il menu utente a sola icona con caret */
@media (max-width: 900px) {
  .cc-topbar__user-btn { padding: 6px; gap: 6px; }
  .cc-topbar__username { display: none; }
  .cc-topbar__avatar { width: 28px; height: 28px; background: #fff; border: 1px solid #E5E7EB; color: transparent; }
  .cc-topbar__avatar::before {
    content: ""; display: block; width: 18px; height: 18px; margin: 0 auto; background: #111827;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"><path fill="%230F172A" d="M12 12c2.761 0 5-2.239 5-5s-2.239-5-5-5-5 2.239-5 5 2.239 5 5 5zm0 2c-3.866 0-7 2.239-7 5v2h14v-2c0-2.761-3.134-5-7-5z"/></svg>');
    mask-size: contain; mask-repeat: no-repeat; mask-position: center;
  }
}

/* Sidebar */
.cc-brand-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: var(--cc-sidebar-width); height: 100vh; background: var(--cc-color-sidebar-bg); color: var(--cc-color-sidebar-text); box-shadow: 8px 0 20px rgba(0,0,0,0.15); display: block; overflow-y: auto; transform: translateX(-100%); transition: transform .24s ease; }
@media (min-width: 1025px) { .cc-brand-sidebar { transform: translateX(0); } }
.cc-brand-sidebar .cc-sidebar__inner { display: flex; flex-direction: column; height: 100%; padding: 16px; }
.cc-brand-sidebar .cc-sidebar__brand { padding: 8px 0 16px 0; border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 8px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cc-brand-sidebar .cc-sidebar__home { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #fff; }
.cc-brand-sidebar .cc-sidebar__home img { height: 30px; width: auto; display: inline-block; }
.cc-brand-sidebar .cc-sidebar__brand-text { color: #fff; font-weight: 700; font-size: var(--cc-font-size-h4); letter-spacing: 0.02em; }
.cc-brand-sidebar .cc-sidebar__collapse { appearance: none; width: 32px; height: 32px; border: 1px solid transparent !important; border-radius: var(--cc-radius-controls); background: transparent !important; color: #fff !important; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.cc-brand-sidebar .cc-sidebar__collapse:hover { background: rgba(255,255,255,0.1) !important; }
.cc-brand-sidebar .cc-sidebar__collapse .cc-icon { width: 16px; height: 16px; fill: currentColor; transform: rotate(180deg); transition: transform .2s ease; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__collapse .cc-icon { transform: rotate(0deg); }
.cc-brand-sidebar .cc-sidebar__collapse:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-brand-sidebar .cc-sidebar__nav { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.cc-brand-sidebar .cc-sidebar__link { display: block; padding: 10px 12px; border-radius: var(--cc-radius-controls); color: var(--cc-color-sidebar-text); text-decoration: none; font-weight: 600; opacity: 0.9; font-size: var(--cc-font-size-nav); }
.cc-brand-sidebar .cc-sidebar__link:hover { background: var(--cc-color-sidebar-hover); opacity: 1; }
.cc-brand-sidebar .cc-sidebar__link.is-active { background: var(--cc-color-sidebar-active); color: #fff; }
.cc-brand-sidebar .cc-sidebar__link:focus-visible,
.cc-brand-sidebar .cc-sidebar__group-title:focus-visible,
.cc-brand-sidebar .cc-sidebar__sublink:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }

/* Second-level navigation for Dashboard */
.cc-brand-sidebar .cc-sidebar__group { display: flex; flex-direction: column; gap: 4px; }
.cc-brand-sidebar .cc-sidebar__group-title { font-weight: 700; position: relative; padding-right: 18px; }
.cc-brand-sidebar .cc-sidebar__group-title::after {
  content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; transform: translateY(-50%) rotate(0deg);
  background: #fff; mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24"><path fill="%23FFFFFF" d="M7 10l5 5 5-5z"/></svg>'); mask-size: 10px 10px; mask-repeat: no-repeat; mask-position: center;
  opacity: .9; transition: transform .2s ease;
}
.cc-brand-sidebar .cc-sidebar__group.is-open .cc-sidebar__group-title::after { transform: translateY(-50%) rotate(180deg); }
.cc-brand-sidebar .cc-sidebar__subnav {
  display: flex; flex-direction: column; gap: 4px; margin-left: 6px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,0.08);
  max-height: 0; overflow: hidden; opacity: 0; transition: max-height .25s ease, opacity .2s ease;
}
.cc-brand-sidebar .cc-sidebar__group.is-open .cc-sidebar__subnav { max-height: 600px; opacity: 1; }
.cc-brand-sidebar .cc-sidebar__sublink { display: block; padding: 8px 10px; border-radius: var(--cc-radius-controls); color: var(--cc-color-sidebar-text); text-decoration: none; font-weight: 500; opacity: 0.85; font-size: var(--cc-font-size-sm); }
.cc-brand-sidebar .cc-sidebar__sublink:hover { background: var(--cc-color-sidebar-hover); opacity: 1; }
.cc-brand-sidebar.cc-brand-sidebar--clubadmin { --cc-color-sidebar-bg: #143D2A; --cc-color-sidebar-active: #0F3D2E; }
.cc-brand-sidebar .cc-sidebar__group--level2 { margin-left: 8px; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__group--level2 { margin-left: 0; }
.cc-brand-sidebar .cc-sidebar__subnav--level2 { margin-left: 10px; border-left: 1px dashed rgba(255,255,255,0.12); }
/* Pagination styling */
.cc-pagination, .cc-offers__pagination, .cc-events__pagination, .cc-directory__pagination {
  display: flex; align-items: center; gap: 10px; justify-content: center; margin-top: 12px;
}
.cc-pagination__info, .cc-pager__info { color: var(--cc-color-muted); font-size: var(--cc-font-size-sm); }
.cc-pagination__controls, .cc-pager__controls { display: inline-flex; gap: 6px; }
.cc-pagination__pages { display: inline-flex; gap: 6px; }
.cc-pagination__dots { color: var(--cc-color-muted); }
.cc-pagination .cc-btn, .cc-pagination__controls .cc-btn,
.cc-offers__pagination .cc-btn, .cc-events__pagination .cc-btn, .cc-directory__pagination .cc-btn {
  background: #FFFFFF; color: var(--cc-color-text); border: 1px solid #E5E7EB; box-shadow: none; border-radius: var(--cc-radius-controls);
  padding: 8px 12px; font-weight: 600;
}
.cc-pagination__pages .cc-btn.is-active { background: #1F2937; color: #fff; border-color: #1F2937; }
.cc-pagination .cc-btn[disabled], .cc-offers__pagination .cc-btn[disabled], .cc-events__pagination .cc-btn[disabled], .cc-directory__pagination .cc-btn[disabled] {
  opacity: .6; cursor: not-allowed;
}
.cc-pagination .cc-btn:hover, .cc-offers__pagination .cc-btn:hover, .cc-events__pagination .cc-btn:hover, .cc-directory__pagination .cc-btn:hover {
  border-color: #D1D5DB; background: #F9FAFB;
}
/* Mobile cleanup: nascondi informazioni paginate su viewport stretti */
@media (max-width: 768px) {
  .cc-dashboard .cc-pagination__info,
  .cc-dashboard .cc-pager__info,
  .cc-offers .cc-pagination__info,
  .cc-offers .cc-pager__info,
  .cc-events .cc-pagination__info,
  .cc-events .cc-pager__info { display: none; }
}

/* Sidebar icons */
.cc-brand-sidebar .cc-sidebar__link, .cc-brand-sidebar .cc-sidebar__sublink { position: relative; }
.cc-brand-sidebar .cc-sidebar__link::before,
.cc-brand-sidebar .cc-sidebar__sublink::before {
  content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 10px; vertical-align: middle;
  background-repeat: no-repeat; background-size: 18px 18px; opacity: .95;
}
.cc-brand-sidebar .cc-sidebar__link::before { filter: none; }
.cc-brand-sidebar .cc-sidebar__link[href*="/sponsor-dashboard"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>'); }
.cc-brand-sidebar .cc-link--cruscotto::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/club-admin"]::before, .cc-brand-sidebar .cc-link--amministrazione::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 1a4 4 0 0 1 4 4v1.06a7.01 7.01 0 0 1 2.47 2.47H19a4 4 0 0 1 4 4v0a4 4 0 0 1-4 4h-1.06a7.01 7.01 0 0 1-2.47 2.47V19a4 4 0 0 1-4 4h0a4 4 0 0 1-4-4v-1.06a7.01 7.01 0 0 1-2.47-2.47H5a4 4 0 0 1-4-4v0a4 4 0 0 1 4-4h1.06a7.01 7.01 0 0 1 2.47-2.47V5a4 4 0 0 1 4-4zm0 6a5 5 0 1 0 0 10 5 5 0 0 0 0-10z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/portal"]::before, .cc-brand-sidebar .cc-link--portal::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2c1.9 0 3.63.66 5 1.76L13 12l4 6.24A8 8 0 1 1 12 4zm5.24 13.37L14.2 12l3.04-5.37A8.02 8.02 0 0 1 20 12a8.02 8.02 0 0 1-2.76 5.37z"/></svg>'); }
.cc-admin-sponsors .cc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cc-admin-sponsors .cc-header__badges, .cc-admin-sponsors .cc-badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-sponsors .cc-header__actions, .cc-admin-sponsors .cc-actions { display:flex; align-items:center; gap:8px; }
.cc-admin-sponsors .cc-header__actions .cc-btn:not(.cc-btn-light):hover, .cc-admin-sponsors .cc-actions .cc-btn:not(.cc-btn-light):hover { filter: brightness(0.96); box-shadow: 0 8px 18px rgba(84, 2, 1, 0.30); text-decoration: none; }
.cc-admin-sectors .cc-head, .cc-admin-levels .cc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cc-admin-sectors .cc-badges, .cc-admin-levels .cc-badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-sectors .cc-actions, .cc-admin-levels .cc-actions { display:flex; align-items:center; gap:8px; }
.cc-admin-sectors .cc-actions .cc-btn:not(.cc-btn-light):hover, .cc-admin-levels .cc-actions .cc-btn:not(.cc-btn-light):hover { filter: brightness(0.96); box-shadow: 0 8px 18px rgba(84, 2, 1, 0.30); text-decoration: none; }
.cc-admin-sponsors .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-levels .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-levels .cc-badge.is-active { }
.cc-admin-levels .cc-badge:hover { text-decoration:none; }
.cc-admin-levels .cc-badge.is-active:hover { text-decoration:none; }
.cc-admin-sponsors .cc-badge.is-active { }
.cc-admin-sponsors .cc-badge:hover { text-decoration:none; }
.cc-admin-sponsors .cc-badge.is-active:hover { background:#273449; color:#fff; text-decoration:none; }
.cc-admin-sponsors .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-sponsors .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-sponsors .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-sponsors .cc-badge--draft.is-active:hover { background:#D1D5DB; color:#111827; }
.cc-admin-sponsors .cc-badge--unassigned { background:#E5E7EB; color:#111827; }
.cc-admin-sponsors .cc-badge--unassigned:hover { background:#D1D5DB; color:#111827; }
.cc-admin-sponsors .cc-badge--unassigned.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-sponsors .cc-badge--unassigned.is-active:hover { background:#273449; color:#fff; }
.cc-admin-sponsors .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-sponsors .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-sponsors .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-sponsors .cc-badge--trash.is-active:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-sponsors .cc-search { display:flex; align-items:center; gap:8px; }
.cc-admin-sponsors .cc-search { position: relative; }
.cc-admin-sponsors .cc-search__suggestions, .cc-admin-sectors .cc-search__suggestions, .cc-admin-levels .cc-search__suggestions { position: absolute; top: 100%; left: 0; z-index: 50; background: #fff; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); box-shadow: 0 8px 20px rgba(0,0,0,0.08); margin-top: 4px; min-width: 280px; max-width: 520px; max-height: 240px; overflow-y: auto; }
.cc-admin-sectors .cc-search, .cc-admin-levels .cc-search { display:flex; align-items:center; gap:8px; position: relative; }
.cc-admin-sponsors .cc-suggest__item, .cc-admin-sectors .cc-suggest__item, .cc-admin-levels .cc-suggest__item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: transparent; border: 0; text-align: left; cursor: pointer; font-size: var(--cc-font-size-sm); color: var(--cc-color-text); }
.cc-admin-sponsors .cc-suggest__item[aria-selected="true"], .cc-admin-sectors .cc-suggest__item[aria-selected="true"], .cc-admin-levels .cc-suggest__item[aria-selected="true"] { background: #F3F4F6; }
.cc-admin-sponsors .cc-suggest__item:hover, .cc-admin-sectors .cc-suggest__item:hover, .cc-admin-levels .cc-suggest__item:hover { background: #F9FAFB; }
.cc-admin-sponsors .cc-suggest__status { margin-left:auto; padding: 2px 8px; border-radius: 999px; font-size: 12px; line-height: 1.6; }
.cc-admin-sponsors .cc-suggest__status.is-draft { background: #E5E7EB; color: #111827; }
.cc-admin-sponsors .cc-suggest__status.is-trash { background: #FEE2E2; color: #7F1D1D; }
.cc-admin-sponsors .cc-suggest__status.is-publish { background: #D1FAE5; color: #065F46; }
.cc-admin-sponsors .wp-list-table tbody tr.is-unassigned td { background-color:#E5E7EB; color:#111827; }
.cc-admin-sponsors .wp-list-table tbody tr.is-trash td { background-color:#FEE2E2; color:#7F1D1D; }
.cc-admin-sponsors .cc-bulk { display:flex; flex-direction:column; gap:12px; }
.cc-admin-sponsors .cc-bulk__controls { display:flex; align-items:center; gap:8px; }
.cc-admin-sponsors .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }
.cc-admin-sectors .cc-table-actions, .cc-admin-levels .cc-table-actions { display:flex; align-items:center; gap:8px; }
.cc-admin-sectors .cc-table-wrap, .cc-admin-levels .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }

@media (max-width: 768px) {
  .cc-admin-sectors .cc-head, .cc-admin-levels .cc-head { flex-direction: column; align-items: stretch; gap: 10px; }
  .cc-admin-sectors .cc-actions, .cc-admin-levels .cc-actions { justify-content: flex-start; }
}
.cc-admin-sponsors .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-sponsors .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-sponsors .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; }
.cc-admin-sponsors .wp-list-table tr:hover td { background:#F9FAFB; }
/* Actions column sticky-right and right-aligned */
.cc-admin-sponsors .wp-list-table th:last-child,
.cc-admin-sponsors .wp-list-table td:last-child { position: sticky; right: 0; z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; }
.cc-admin-sponsors .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-admin-sponsors .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-sponsors .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-sponsors .cc-link:hover { text-decoration:underline; }
.cc-admin-sponsors .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }
/* Underline in gray for unassigned rows across admin tables */
.cc-admin-levels .wp-list-table tbody tr.is-unassigned td { background-color:#E5E7EB; color:#111827; }
.cc-admin-sectors .wp-list-table tbody tr.is-unassigned td { background-color:#E5E7EB; color:#111827; }
/* Sort links inside table headers */
.cc-admin-sponsors .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-sponsors .cc-sort:hover { color: var(--cc-color-button-primary); }
.cc-admin-sponsors .cc-sort .cc-icon path,
.cc-admin-sectors .cc-sort .cc-icon path,
.cc-admin-levels .cc-sort .cc-icon path { fill: currentColor; }
.cc-admin-sectors .cc-sort, .cc-admin-levels .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-sectors .cc-sort:hover, .cc-admin-levels .cc-sort:hover { color: var(--cc-color-button-primary); }
/* Icon base */
.cc-admin-sponsors .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
/* Elegant action chips */
.cc-admin-sponsors .cc-actions {  gap: 8px; align-items: center; }
.cc-admin-sponsors .cc-action {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls);
  background: #fff; color: var(--cc-color-text); text-decoration: none;
  font-size: var(--cc-font-size-xs);
  box-shadow: 0 2px 6px rgba(15,23,42,0.04);
}
.cc-admin-sponsors .cc-action:hover { background: #F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-sponsors .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-sponsors .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-sponsors .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-sponsors .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-sponsors .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }
/* Focus visible ring for interactive elements (WCAG 2.1 AA) */
.cc-admin-sponsors .cc-btn:focus-visible,
.cc-admin-sponsors .cc-btn.cc-btn-light:focus-visible,
.cc-admin-sponsors .cc-badge:focus-visible,
.cc-admin-sponsors .cc-link:focus-visible,
.cc-admin-sponsors input[type="search"]:focus-visible,
.cc-admin-sponsors select:focus-visible,
.cc-admin-sponsors button:focus-visible,
.cc-admin-sponsors a:focus-visible {
  outline: 2px solid var(--cc-color-button-primary);
  outline-offset: 2px;
  text-decoration: none;
}
/* Improve contrast for hovered links on light backgrounds */
.cc-admin-sponsors a:hover { color: #FFFFFF; }
.cc-admin-sponsors .cc-link:hover { color: var(--cc-color-button-primary); }
.cc-admin-sponsors .cc-action.is-draft:hover { color: var(--cc-color-text); }
.cc-brand-sidebar .cc-sidebar__link[href*="/sponsors"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/offerte"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M17.63 5.84C17.27 5.33 16.67 5 16 5H5c-1.11 0-2 .89-2 2v10c0 1.11.89 2 2 2h11c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/eventi"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 15H5V9h14v10z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/comunicazioni"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 13.5l8-6V6l-8 6-8-6v1.5l8 6zM4 8v10h16V8l-8 6-8-6z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__link[href*="/inbox"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 3H4.99C3.89 3 3 3.89 3 4.99v14.03C3 20.12 3.88 21 4.98 21H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 14H5V5h14v12zm-4-8H9v1.5h6V9z"/></svg>'); }
.cc-brand-sidebar .cc-link--settings::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19.14 12.94c.04-.3.06-.61.06-.94s-.02-.64-.06-.94l2.03-1.58a.5.5 0 0 0 .12-.65l-1.92-3.32a.5.5 0 0 0-.6-.22l-2.39.96a7.027 7.027 0 0 0-1.63-.94l-.36-2.54A.5.5 0 0 0 12.79 2h-3.58a.5.5 0 0 0-.5.42l-.36 2.54c-.59.23-1.14.53-1.63.94l-2.39-.96a.5.5 0 0 0-.6.22L1.81 8.98a.5.5 0 0 0 .12.65l2.03 1.58c-.04.3-.06.61-.06.94s.02.64.06.94l-2.03 1.58a.5.5 0 0 0-.12.65l1.92 3.32c.14.24.44.34.7.22l2.39-.96c.49.41 1.04.71 1.63.94l.36 2.54c.05.25.26.42.5.42h3.58c.24 0 .45-.17.5-.42l.36-2.54c.59-.23 1.14-.53 1.63-.94l2.39.96c.26.12.56.02.7-.22l1.92-3.32a.5.5 0 0 0-.12-.65l-2.03-1.58zm-7.14 2.56a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z"/></svg>'); }
.cc-brand-sidebar .cc-sidebar__sublink.is-active { background: var(--cc-color-sidebar-active); color: #fff; }

/* Layout fix: quando la Brand Sidebar è attiva, il layout del cruscotto deve occupare tutta la larghezza */
body.has-cc-sidebar .cc-dashboard--with-sidebar .cc-dashboard__layout { display: block; }

/* Override WP: rimuovi il padding sinistro globale per allineare i contenuti con la Brand Sidebar */
.has-global-padding { padding-left: 10px !important;padding-right: 10px !important; }

/* Mobile: il titolo con classe has-text-align-center deve essere centrato */
@media (max-width: 768px) {
  body.has-cc-sidebar .wp-block-post-title.has-text-align-center,
  .wp-block-post-title.has-text-align-center {
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Desktop: aggiungi padding sinistro di 20px al titolo indicato */
@media (min-width: 769px) {
  .wp-block-post-title.has-text-align-center {
    padding-left: 20px !important;
  }
}

/* Override: forme senza cornice (usa sfondo pagina) nelle viste ClubConnect */
.cc-offers .cc-card, .cc-events .cc-card, .cc-dashboard .cc-card, .cc-inbox .cc-card, .cc-comms .cc-card {
  background: transparent;
  box-shadow: none;
  border: 0;
}
.cc-dashboard .cc-section .cc-card {
  background: var(--cc-color-surface);
  border-radius: var(--cc-radius);
  box-shadow: var(--cc-shadow);
  padding: calc(var(--cc-spacing) * 1.5);
  padding-left: calc(var(--cc-spacing) * 0.5);
}
/* Nota: permettiamo alle card della Directory (.cc-directory .cc-card) di mantenere il loro stile
    in directory.css per avere la stessa resa delle card di Offerte/Eventi. */

/* ===== Off-canvas Brand Sidebar (mobile) ===== */
.cc-brand-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: var(--cc-sidebar-width); height: 100vh; background: var(--cc-color-sidebar-bg); color: var(--cc-color-sidebar-text); box-shadow: 8px 0 20px rgba(0,0,0,0.15); overflow-y: hidden; z-index: 1000; transform: translateX(0); transition: transform .24s ease; }
@media (max-width: 1024px) {
  .cc-brand-sidebar { transform: translateX(-100%); }
  .cc-brand-sidebar.is-open { transform: translateX(0); }
}
/* Overlay per il drawer */
.cc-sidebar__overlay { position: fixed; inset: 0; background: rgba(15,23,42,0.35); backdrop-filter: blur(1px); z-index: 999; }
:root, html, body, .wp-site-blocks {
  --wp--style--global--content-size: 100%;
  --wp--style--global--wide-size: 100%;
}
/* Gestisci Sponsor: nascondi titolo pagina del tema */
body.page.page-gestisci-sponsor .wp-block-post-title,
body.page.page-gestisci-sponsor .entry-title,
body.page.page-gestisci-sponsor .page-title { display: none !important; }
.cc-admin-sponsors .wp-list-table { min-width: 920px; }
.cc-admin-sponsors .wp-list-table th:nth-child(2),
.cc-admin-sponsors .wp-list-table td:nth-child(2) { min-width: 240px; }
.cc-admin-sponsors .wp-list-table th:nth-child(3),
.cc-admin-sponsors .wp-list-table td:nth-child(3) { min-width: 160px; }
.cc-admin-sponsors .wp-list-table th:nth-child(4),
.cc-admin-sponsors .wp-list-table td:nth-child(4) { min-width: 160px; }
.cc-admin-sponsors .wp-list-table th:nth-child(5),
.cc-admin-sponsors .wp-list-table td:nth-child(5) { min-width: 160px; }
.cc-admin-sponsors .wp-list-table th:nth-child(6),
.cc-admin-sponsors .wp-list-table td:nth-child(6) { min-width: 180px; }
.cc-admin-sponsors .wp-list-table th:nth-child(9),
.cc-admin-sponsors .wp-list-table td:nth-child(9) { white-space: nowrap; }
.cc-admin-sponsors .wp-list-table th:first-child,
.cc-admin-sponsors .wp-list-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 2; }

@media (max-width: 768px) {
  .cc-admin-sponsors .wp-list-table { min-width: 860px; }
  .cc-admin-sponsors .wp-list-table th, .cc-admin-sponsors .wp-list-table td { padding: 8px 10px; }
  .cc-admin-sponsors .cc-header { flex-direction: column; align-items: stretch; gap: 10px; }
  .cc-admin-sponsors .cc-header__actions, .cc-admin-sponsors .cc-actions { justify-content: flex-start; }
}
.cc-admin-sponsors .wp-list-table th:first-child,
.cc-admin-sponsors .wp-list-table td:first-child { text-align: center; }
.cc-admin-sponsors .wp-list-table th:nth-child(2),
.cc-admin-sponsors .wp-list-table td:nth-child(2) { text-align: left; }
.cc-admin-sponsors .wp-list-table th:nth-child(3),
.cc-admin-sponsors .wp-list-table td:nth-child(3) { text-align: left; }
.cc-admin-sponsors .wp-list-table th:nth-child(4),
.cc-admin-sponsors .wp-list-table td:nth-child(4) { text-align: left; }
.cc-admin-sponsors .wp-list-table th:nth-child(5),
.cc-admin-sponsors .wp-list-table td:nth-child(5) {  }
.cc-admin-sponsors .wp-list-table th:nth-child(6),
.cc-admin-sponsors .wp-list-table td:nth-child(6) { text-align: left; }
.cc-admin-sponsors .wp-list-table th:nth-child(7),
.cc-admin-sponsors .wp-list-table td:nth-child(7),
.cc-admin-sponsors .wp-list-table th:nth-child(8),
.cc-admin-sponsors .wp-list-table td:nth-child(8) { text-align: right; }
.cc-admin-sponsors .wp-list-table th:nth-child(9),
.cc-admin-sponsors .wp-list-table td:nth-child(9) { text-align: center; }

.cc-admin-payments .cc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cc-admin-payments .cc-header__badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-payments .cc-header__actions { display:flex; align-items:center; gap:8px; }
.cc-admin-payments .cc-header__actions .cc-btn:hover { filter: brightness(0.96); box-shadow: 0 8px 18px rgba(84, 2, 1, 0.30); text-decoration: none; }
.cc-admin-payments .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; color:#fff; }
.cc-admin-payments .cc-badge.is-active { background:#1F2937; }
.cc-admin-payments .cc-badge:hover { background:#374151; color:#fff; text-decoration:none; }
.cc-admin-payments .cc-badge.is-active:hover { background:#273449; color:#fff; }
.cc-admin-payments .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-payments .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-payments .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-payments .cc-badge--draft.is-active:hover { background:#D1D5DB; color:#111827; }
.cc-admin-payments .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-payments .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-payments .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-payments .cc-badge--trash.is-active:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-payments .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-payments .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-payments .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }
.cc-admin-payments .cc-search { display:flex; align-items:center; gap:8px; position: relative; }
.cc-admin-payments .cc-search__suggestions { position: absolute; top: 100%; left: 0; z-index: 50; background: #fff; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); box-shadow: 0 8px 20px rgba(0,0,0,0.08); margin-top: 4px; min-width: 280px; max-width: 520px; max-height: 240px; overflow-y: auto; }
.cc-admin-payments .cc-suggest__item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: transparent; border: 0; text-align: left; cursor: pointer; font-size: var(--cc-font-size-sm); color: var(--cc-color-text); }
.cc-admin-payments .cc-suggest__item[aria-selected="true"] { background: #F3F4F6; }
.cc-admin-payments .cc-suggest__item:hover { background: #F9FAFB; }
.cc-admin-payments .cc-suggest__status { margin-left:auto; padding: 2px 8px; border-radius: 999px; font-size: 12px; line-height: 1.6; }
.cc-admin-payments .cc-suggest__status.is-draft { background: #E5E7EB; color: #111827; }
.cc-admin-payments .cc-suggest__status.is-trash { background: #FEE2E2; color: #7F1D1D; }
.cc-admin-payments .cc-suggest__status.is-publish { background: #D1FAE5; color: #065F46; }
.cc-admin-payments .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }
.cc-admin-payments .wp-list-table tbody tr.is-trash td { background-color:#FEE2E2; color:#7F1D1D; }
.cc-admin-payments .cc-bulk { display:flex; flex-direction:column; gap:12px; }
.cc-admin-payments .cc-bulk__controls { display:flex; align-items:center; gap:8px; }
.cc-admin-payments .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }
.cc-admin-payments .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-payments .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-payments .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; }
.cc-admin-payments .wp-list-table tr:hover td { background:#F9FAFB; }
.cc-admin-payments .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-payments .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-payments .cc-link:hover { text-decoration:underline; }
.cc-admin-payments .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-payments .cc-sort:hover { color: var(--cc-color-button-primary); }
.cc-admin-payments .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-admin-payments .cc-actions { display: flex; gap: 8px; align-items: center; flex-wrap: nowrap; }
.cc-admin-payments .cc-action { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border:1px solid #E5E7EB; border-radius: var(--cc-radius-controls); color: var(--cc-color-text); text-decoration:none; white-space: nowrap; }
.cc-admin-payments .cc-action:hover { background: #F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-payments .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-payments .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-payments .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-payments .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-payments .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }
.cc-admin-payments .cc-btn:focus-visible,
.cc-admin-payments .cc-btn.cc-btn-light:focus-visible,
.cc-admin-payments .cc-badge:focus-visible,
.cc-admin-payments .cc-link:focus-visible,
.cc-admin-payments input[type="search"]:focus-visible,
.cc-admin-payments select:focus-visible,
.cc-admin-payments button:focus-visible,
.cc-admin-payments a:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-payments .wp-list-table { min-width: 920px; }
.cc-admin-payments .wp-list-table th:first-child,
.cc-admin-payments .wp-list-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 2; text-align:center; }
.cc-admin-payments .wp-list-table th:nth-child(2),
.cc-admin-payments .wp-list-table td:nth-child(2) { min-width: 220px; }
.cc-admin-payments .wp-list-table th:nth-child(3),
.cc-admin-payments .wp-list-table td:nth-child(3) { min-width: 180px; }
.cc-admin-payments .wp-list-table th:nth-child(4),
.cc-admin-payments .wp-list-table td:nth-child(4) { min-width: 160px; }
.cc-admin-payments .wp-list-table th:nth-child(9),
.cc-admin-payments .wp-list-table td:nth-child(9) { white-space: nowrap; }
/* Actions column sticky-right and right-aligned */
.cc-admin-payments .wp-list-table th:last-child,
.cc-admin-payments .wp-list-table td:last-child { position: sticky; right: 0;  z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; min-width: 360px; }
.cc-admin-payments .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-admin-sectors .wp-list-table, .cc-admin-levels .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-sectors .wp-list-table th, .cc-admin-levels .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-sectors .wp-list-table td, .cc-admin-levels .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; }
.cc-admin-sectors .wp-list-table tr:hover td, .cc-admin-levels .wp-list-table tr:hover td { background:#F9FAFB; }
/* Actions column sticky-right and right-aligned */
.cc-admin-sectors .wp-list-table th:last-child,
.cc-admin-sectors .wp-list-table td:last-child,
.cc-admin-levels .wp-list-table th:last-child,
.cc-admin-levels .wp-list-table td:last-child { position: sticky; right: 0;  z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; }
.cc-admin-sectors .wp-list-table td:last-child .cc-actions,
.cc-admin-levels .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-admin-sectors .cc-empty, .cc-admin-levels .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-sectors .cc-link, .cc-admin-levels .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-sectors .cc-link:hover, .cc-admin-levels .cc-link:hover { text-decoration:underline; }
.cc-admin-sectors .cc-icon, .cc-admin-levels .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-admin-sectors .cc-actions, .cc-admin-levels .cc-actions { display: inline-flex; gap: 8px; align-items: center; }
.cc-admin-sectors .cc-action, .cc-admin-levels .cc-action {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls);
  background: #fff; color: var(--cc-color-text); text-decoration: none;
  font-size: var(--cc-font-size-xs);
  box-shadow: 0 2px 6px rgba(15,23,42,0.04);
}
.cc-admin-sectors .cc-action:hover, .cc-admin-levels .cc-action:hover { background: #F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-sectors .cc-action:focus-visible, .cc-admin-levels .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-sectors .cc-action .cc-icon, .cc-admin-levels .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-sectors .cc-action.is-edit:hover, .cc-admin-levels .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-sectors .cc-action.is-trash, .cc-admin-levels .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-sectors .cc-action.is-trash:hover, .cc-admin-levels .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }

/* Gray underline for draft payments title links */
/* Avoid text underline for draft payments; use cell styling */
.cc-admin-payments .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }

/* Draft row styling for Seasons, Offers, Events */
.cc-admin-seasons .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }
.cc-admin-offers .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }
.cc-admin-events .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }

.cc-admin-sectors .cc-btn:focus-visible,
.cc-admin-sectors .cc-btn.cc-btn-light:focus-visible,
.cc-admin-sectors .cc-badge:focus-visible,
.cc-admin-sectors .cc-link:focus-visible,
.cc-admin-sectors input[type="search"]:focus-visible,
.cc-admin-sectors select:focus-visible,
.cc-admin-sectors button:focus-visible,
.cc-admin-sectors a:focus-visible,
.cc-admin-levels .cc-btn:focus-visible,
.cc-admin-levels .cc-btn.cc-btn-light:focus-visible,
.cc-admin-levels .cc-badge:focus-visible,
.cc-admin-levels .cc-link:focus-visible,
.cc-admin-levels input[type="search"]:focus-visible,
.cc-admin-levels select:focus-visible,
.cc-admin-levels button:focus-visible,
.cc-admin-levels a:focus-visible {
  outline: 2px solid var(--cc-color-button-primary);
  outline-offset: 2px;
  text-decoration: none;
}
.cc-card.cc-notice { display:flex; align-items:center; justify-content:center; text-align:center; padding:12px 14px; border:1px solid #065F46; background:#D1FAE5; color:#065F46; font-weight:700; border-radius: var(--cc-radius-controls); }
.cc-card.cc-notice.is-error { border-color: #B91C1C; background: #FEE2E2; color: #991B1B; }
.cc-card.cc-notice.is-draft { border-color: #4B5563; background: #F3F4F6; color: #1F2937; }
/* Seasons admin table: align look & feel to other admin sections */
.cc-admin-seasons .cc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 20px; }
.cc-admin-seasons .cc-header__badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-seasons .cc-header__actions { display:flex; align-items:center; gap:8px; }
/* Badge styles aligned to Sponsors for consistency */
.cc-admin-seasons .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-seasons .cc-badge.is-active:hover { background:#273449; color:#fff; text-decoration:none; }
.cc-admin-seasons .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-seasons .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-seasons .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-seasons .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-seasons .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-seasons .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-seasons .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-seasons .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-seasons .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }
@media (max-width: 768px) {
  .cc-admin-seasons .cc-header { flex-direction: column; align-items: stretch; gap: 10px; }
  .cc-admin-seasons .cc-header__actions { justify-content: flex-start; }
}

.cc-admin-seasons .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }
.cc-admin-seasons .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-seasons .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-seasons .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; }
.cc-admin-seasons .wp-list-table tr:hover td { background:#F9FAFB; }
.cc-admin-seasons .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-seasons .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-seasons .cc-link:hover { text-decoration:underline; }
.cc-admin-seasons .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-seasons .cc-sort:hover { color: var(--cc-color-button-primary); }
.cc-admin-seasons .cc-sort .cc-icon path { fill: currentColor; }
.cc-admin-seasons .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-admin-seasons .cc-actions { display: inline-flex; gap: 8px; align-items: center; }
.cc-admin-seasons .cc-action { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #E5E7EB; border-radius: var(--cc-radius-controls); background:#fff; color: var(--cc-color-text); text-decoration:none; font-size: var(--cc-font-size-xs); box-shadow: 0 2px 6px rgba(15,23,42,0.04); }
.cc-admin-seasons .cc-action:hover { background:#F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-seasons .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-seasons .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-seasons .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-seasons .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-seasons .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }
.cc-admin-seasons .cc-action.is-restore { color: #059669; border-color: #6EE7B7; }
.cc-admin-seasons .cc-action.is-restore:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-seasons .cc-action.is-publish { color: #059669; border-color: #6EE7B7; }
.cc-admin-seasons .cc-action.is-publish:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-seasons tr.is-trash td { background-color: #FEF2F2; color: #991B1B; }
.cc-admin-seasons tr.is-trash:hover td { background-color: #FEE2E2; }
.cc-admin-seasons .wp-list-table tr.is-trash td:first-child { background-color: #FEF2F2; }
.cc-admin-seasons .wp-list-table tr.is-trash:hover td:first-child { background-color: #FEE2E2; }
.cc-admin-seasons .wp-list-table { min-width: 720px; }
.cc-admin-seasons .wp-list-table th:first-child, .cc-admin-seasons .wp-list-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 2; text-align: center; }
.cc-admin-seasons .wp-list-table th:nth-child(2), .cc-admin-seasons .wp-list-table td:nth-child(2) { min-width: 240px; }
/* Actions column sticky-right and right-aligned */
.cc-admin-seasons .wp-list-table th:last-child,
.cc-admin-seasons .wp-list-table td:last-child { position: sticky; right: 0;  z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; }
.cc-admin-seasons .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-admin-seasons .cc-btn:focus-visible,
.cc-admin-seasons .cc-btn.cc-btn-light:focus-visible,
.cc-admin-seasons .cc-badge:focus-visible,
.cc-admin-seasons .cc-link:focus-visible,
.cc-admin-seasons input[type="search"]:focus-visible,
.cc-admin-seasons select:focus-visible,
.cc-admin-seasons button:focus-visible,
.cc-admin-seasons a:focus-visible {
  outline: 2px solid var(--cc-color-button-primary);
  outline-offset: 2px;
  text-decoration: none;
}
.cc-admin-seasons .cc-table-actions { display:flex; align-items:center; gap:8px; }
.cc-admin-seasons .cc-search { display:flex; align-items:center; gap:8px; position: relative; }
.cc-admin-seasons .cc-search__suggestions { position: absolute; top: 100%; left: 0; z-index: 50; background: #fff; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); box-shadow: 0 8px 20px rgba(0,0,0,0.08); margin-top: 4px; min-width: 280px; max-width: 520px; max-height: 240px; overflow-y: auto; }
.cc-admin-seasons .cc-suggest__item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: transparent; border: 0; text-align: left; cursor: pointer; font-size: var(--cc-font-size-sm); color: var(--cc-color-text); }
.cc-admin-seasons .cc-suggest__item[aria-selected="true"] { background: #F3F4F6; }
.cc-admin-seasons .cc-suggest__item:hover { background: #F9FAFB; }

/* Communications admin table */
.cc-admin-communications .cc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 20px; }
.cc-admin-communications .cc-header__badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-communications .cc-header__actions { display:flex; align-items:center; gap:8px; }
/* Badge styles aligned to Sponsors for consistency */
.cc-admin-communications .cc-badge { text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-communications .cc-badge.is-active:hover { background:#273449; color:#fff; text-decoration:none; }
.cc-admin-communications .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-communications .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-communications .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-communications .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-communications .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-communications .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-communications .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-communications .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-communications .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }
@media (max-width: 768px) {
  .cc-admin-communications .cc-header { flex-direction: column; align-items: stretch; gap: 10px; }
  .cc-admin-communications .cc-header__actions { justify-content: flex-start; }
}

.cc-admin-communications .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }
.cc-admin-communications .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-communications .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-communications .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; white-space: nowrap; }
.cc-admin-communications .cc-action { white-space: nowrap; }
.cc-admin-communications .cc-badge { white-space: nowrap; }
.cc-admin-communications .wp-list-table tr:hover td { background:#F9FAFB; }
.cc-admin-communications .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-communications .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-communications .cc-link:hover { text-decoration:underline; }
.cc-admin-communications .row-title { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-communications .row-title:hover { text-decoration:underline; }
.cc-admin-communications .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-communications .cc-sort:hover { color: var(--cc-color-button-primary); }
.cc-admin-communications .cc-sort .cc-icon path { fill: currentColor; }
.cc-admin-communications .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-admin-communications .cc-actions { display: inline-flex; gap: 8px; align-items: center; flex-wrap: nowrap; }
.cc-admin-communications .cc-action { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #E5E7EB; border-radius: var(--cc-radius-controls); background:#fff; color: var(--cc-color-text); text-decoration:none; font-size: var(--cc-font-size-xs); box-shadow: 0 2px 6px rgba(15,23,42,0.04); }
.cc-admin-communications .cc-action:hover { background:#F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-communications .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-communications .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-communications .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-communications .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-communications .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }
.cc-admin-communications .cc-action.is-restore { color: #059669; border-color: #6EE7B7; }
.cc-admin-communications .cc-action.is-restore:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-communications .cc-action.is-publish { color: #059669; border-color: #6EE7B7; }
.cc-admin-communications .cc-action.is-publish:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-communications tr.is-trash td { background-color: #FEF2F2; color: #991B1B; }
.cc-admin-communications .wp-list-table tbody tr.is-draft td { background-color:#E5E7EB; color:#111827; }
.cc-admin-communications tr.is-trash:hover td { background-color: #FEE2E2; }
.cc-admin-communications .wp-list-table tr.is-trash td:first-child { background-color: #FEF2F2; }
.cc-admin-communications .wp-list-table tr.is-trash:hover td:first-child { background-color: #FEE2E2; }
.cc-admin-communications .wp-list-table { }
.cc-admin-communications .wp-list-table th:first-child, .cc-admin-communications .wp-list-table td:first-child { position: sticky; left: 0; z-index: 2; text-align: center; background: #fff; width: 36px; min-width: 36px; padding-left: 0; padding-right: 0; }
.cc-admin-communications .wp-list-table th.check-column, .cc-admin-communications .wp-list-table td.check-column { width: 36px; min-width: 36px; }
.cc-admin-communications .wp-list-table th:nth-child(2), .cc-admin-communications .wp-list-table td:nth-child(2) { min-width: 240px; }
.cc-admin-communications .wp-list-table th:nth-child(3), .cc-admin-communications .wp-list-table td:nth-child(3) { min-width: 160px; }
.cc-admin-communications .wp-list-table th:nth-child(4), .cc-admin-communications .wp-list-table td:nth-child(4) { min-width: 160px; }
.cc-admin-communications .wp-list-table th:nth-child(5), .cc-admin-communications .wp-list-table td:nth-child(5) { white-space: nowrap; }
/* Column alignments: mirror Sponsors layout */
.cc-admin-communications .wp-list-table th:nth-child(2), .cc-admin-communications .wp-list-table td:nth-child(2) { text-align: left; }
.cc-admin-communications .wp-list-table th:nth-child(3), .cc-admin-communications .wp-list-table td:nth-child(3) { text-align: left; }
.cc-admin-communications .wp-list-table th:nth-child(4), .cc-admin-communications .wp-list-table td:nth-child(4) { text-align: left; }
/* Actions column sticky-right and right-aligned */
.cc-admin-communications .wp-list-table th:last-child { position: sticky; right: 0; z-index: 2; text-align: center; box-shadow: -1px 0 0 #E5E7EB inset; background: #F3F4F6; }
.cc-admin-communications .wp-list-table td:last-child { position: sticky; right: 0; z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; background: #fff; }
.cc-admin-communications .wp-list-table th:last-child, .cc-admin-communications .wp-list-table td:last-child { min-width: 240px; }
.cc-admin-communications .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
@media (max-width: 768px) {
  .cc-admin-communications .wp-list-table { min-width: 860px; }
  .cc-admin-communications .wp-list-table th, .cc-admin-communications .wp-list-table td { padding: 8px 10px; }
}
.cc-admin-communications .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-admin-communications .cc-btn:focus-visible,
.cc-admin-communications .cc-btn.cc-btn-light:focus-visible,
.cc-admin-communications .cc-badge:focus-visible,
.cc-admin-communications .cc-link:focus-visible,
.cc-admin-communications input[type="search"]:focus-visible,
.cc-admin-communications select:focus-visible,
.cc-admin-communications button:focus-visible,
.cc-admin-communications a:focus-visible {
  outline: 2px solid var(--cc-color-button-primary);
  outline-offset: 2px;
  text-decoration: none;
}
.cc-admin-communications .cc-table-actions { display:flex; align-items:center; gap:8px; }
.cc-admin-communications .cc-search { display:flex; align-items:center; gap:8px; position: relative; }
.cc-admin-communications .cc-search__suggestions { position: absolute; top: 100%; left: 0; z-index: 50; background: #fff; border: 1px solid #E5E7EB; border-radius: var(--cc-radius-controls); box-shadow: 0 8px 20px rgba(0,0,0,0.08); margin-top: 4px; min-width: 280px; max-width: 520px; max-height: 240px; overflow-y: auto; }
.cc-admin-communications .cc-suggest__item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: transparent; border: 0; text-align: left; cursor: pointer; font-size: var(--cc-font-size-sm); color: var(--cc-color-text); }
.cc-admin-communications .cc-suggest__item[aria-selected="true"] { background: #F3F4F6; }

/* Offers and Events admin tables */
.cc-admin-offers .cc-header, .cc-admin-events .cc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 20px; }
.cc-admin-offers .cc-header__badges, .cc-admin-events .cc-header__badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cc-admin-offers .cc-header__actions, .cc-admin-events .cc-header__actions { display:flex; align-items:center; gap:8px; }
.cc-admin-offers .cc-table-wrap, .cc-admin-events .cc-table-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; box-shadow: inset 0 -1px 0 #E5E7EB; }
.cc-admin-offers .wp-list-table, .cc-admin-events .wp-list-table { width:100%; border-collapse:collapse; }
.cc-admin-offers .wp-list-table th, .cc-admin-events .wp-list-table th { background:#F3F4F6; color:#111827; font-weight:600; padding:10px 12px; border-bottom:1px solid #E5E7EB; white-space:nowrap; vertical-align: middle; text-align: left; }
.cc-admin-offers .wp-list-table td, .cc-admin-events .wp-list-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; font-size: var(--cc-font-size-sm); vertical-align: middle; }
.cc-admin-offers .wp-list-table tr:hover td, .cc-admin-events .wp-list-table tr:hover td { background:#F9FAFB; }
.cc-admin-offers .cc-empty, .cc-admin-events .cc-empty { text-align:center; color:#6B7280; }
.cc-admin-offers .cc-link, .cc-admin-events .cc-link { color: var(--cc-color-button-primary); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.cc-admin-offers .cc-link:hover, .cc-admin-events .cc-link:hover { text-decoration:underline; }
.cc-admin-offers .cc-sort, .cc-admin-events .cc-sort { color: var(--cc-color-text); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.cc-admin-offers .cc-sort:hover, .cc-admin-events .cc-sort:hover { color: var(--cc-color-button-primary); }
.cc-admin-offers .cc-sort .cc-icon path, .cc-admin-events .cc-sort .cc-icon path { fill: currentColor; }
.cc-admin-offers .cc-icon, .cc-admin-events .cc-icon { width:16px; height:16px; display:inline-block; fill: currentColor; }
.cc-admin-offers .cc-actions, .cc-admin-events .cc-actions { display: inline-flex; gap: 8px; align-items: center; }
.cc-admin-offers .cc-action, .cc-admin-events .cc-action { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #E5E7EB; border-radius: var(--cc-radius-controls); background:#fff; color: var(--cc-color-text); text-decoration:none; font-size: var(--cc-font-size-xs); box-shadow: 0 2px 6px rgba(15,23,42,0.04); }
.cc-admin-offers .cc-action:hover, .cc-admin-events .cc-action:hover { background:#F9FAFB; border-color: #D1D5DB; text-decoration: none; }
.cc-admin-offers .cc-action:focus-visible, .cc-admin-events .cc-action:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; }
.cc-admin-offers .cc-action .cc-icon, .cc-admin-events .cc-action .cc-icon { width: 14px; height: 14px; }
.cc-admin-offers .cc-action.is-edit:hover, .cc-admin-events .cc-action.is-edit:hover { color: var(--cc-color-button-primary); }
.cc-admin-offers .cc-action.is-trash, .cc-admin-events .cc-action.is-trash { color: #B91C1C; border-color: #FCA5A5; }
.cc-admin-offers .cc-action.is-trash:hover, .cc-admin-events .cc-action.is-trash:hover { background: #FEF2F2; border-color: #FCA5A5; }
.cc-admin-offers .cc-action.is-restore, .cc-admin-events .cc-action.is-restore { color: #059669; border-color: #6EE7B7; }
.cc-admin-offers .cc-action.is-restore:hover, .cc-admin-events .cc-action.is-restore:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-offers .cc-action.is-publish, .cc-admin-events .cc-action.is-publish { color: #059669; border-color: #6EE7B7; }
.cc-admin-offers .cc-action.is-publish:hover, .cc-admin-events .cc-action.is-publish:hover { background: #ECFDF5; border-color: #6EE7B7; }
.cc-admin-offers .wp-list-table { min-width: 720px; }
.cc-admin-events .wp-list-table { min-width: 720px; }
.cc-admin-offers .wp-list-table th:first-child, .cc-admin-offers .wp-list-table td:first-child,
.cc-admin-events .wp-list-table th:first-child, .cc-admin-events .wp-list-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 2; text-align: center; }
.cc-admin-offers .wp-list-table th:nth-child(2), .cc-admin-offers .wp-list-table td:nth-child(2),
.cc-admin-events .wp-list-table th:nth-child(2), .cc-admin-events .wp-list-table td:nth-child(2) { min-width: 240px; }
/* Actions column sticky-right and right-aligned */
.cc-admin-offers .wp-list-table th:last-child, .cc-admin-offers .wp-list-table td:last-child,
.cc-admin-events .wp-list-table th:last-child, .cc-admin-events .wp-list-table td:last-child { position: sticky; right: 0;  z-index: 2; text-align: right; box-shadow: -1px 0 0 #E5E7EB inset; }
.cc-admin-offers .wp-list-table td:last-child .cc-actions, .cc-admin-events .wp-list-table td:last-child .cc-actions { justify-content: flex-end; }
.cc-dashboard .cc-action span { display: none; }
@media (max-width: 1024px) {
  .cc-dashboard .wp-list-table th:last-child,
  .cc-dashboard .wp-list-table td:last-child { position: static; right: auto; box-shadow: none; }
}
.cc-dashboard .wp-list-table td:last-child .cc-actions { display: inline-flex; align-items: center; gap: 8px; justify-content: flex-end; flex-wrap: nowrap; white-space: nowrap; overflow: visible; }
.cc-admin-offers .wp-list-table th:last-child, .cc-admin-offers .wp-list-table td:last-child,
.cc-admin-events .wp-list-table th:last-child, .cc-admin-events .wp-list-table td:last-child,
.cc-admin-sponsors .wp-list-table th:last-child, .cc-admin-sponsors .wp-list-table td:last-child,
.cc-admin-users .wp-list-table th:last-child, .cc-admin-users .wp-list-table td:last-child { min-width: 240px; }
.cc-admin-offers .cc-btn:focus-visible,
.cc-admin-offers .cc-btn.cc-btn-light:focus-visible,
.cc-admin-offers .cc-badge:focus-visible,
.cc-admin-offers .cc-link:focus-visible,
.cc-admin-offers input[type="search"]:focus-visible,
.cc-admin-offers select:focus-visible,
.cc-admin-offers button:focus-visible,
.cc-admin-offers a:focus-visible,
.cc-admin-events .cc-btn:focus-visible,
.cc-admin-events .cc-btn.cc-btn-light:focus-visible,
.cc-admin-events .cc-badge:focus-visible,
.cc-admin-events .cc-link:focus-visible,
.cc-admin-events input[type="search"]:focus-visible,
.cc-admin-events select:focus-visible,
.cc-admin-events button:focus-visible,
.cc-admin-events a:focus-visible { outline: 2px solid var(--cc-color-button-primary); outline-offset: 2px; text-decoration: none; }

/* Bulk controls: keep select and Apply on the same row */
.cc-admin-sponsors .cc-bulk__controls,
.cc-admin-payments .cc-bulk__controls,
.cc-admin-seasons .cc-bulk__controls,
.cc-admin-communications .cc-table-actions,
.cc-admin-offers .cc-bulk__controls,
.cc-admin-events .cc-bulk__controls { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.cc-admin-sponsors .cc-bulk__controls select,
.cc-admin-payments .cc-bulk__controls select,
.cc-admin-seasons .cc-bulk__controls select,
.cc-admin-communications .cc-table-actions select,
.cc-admin-offers .cc-bulk__controls select,
.cc-admin-events .cc-bulk__controls select { width:auto; max-width:260px; }

/* Mobile: actions icon-only, larger hit area (WCAG touch target) */
@media (max-width: 640px) {
  .cc-container { padding: 0; }
  .cc-navbar .cc-container, .cc-brand-footer .cc-container, .cc-topbar .cc-container { padding: 0; }
  .cc-dashboard .cc-section .cc-card { padding: 0; }
  .cc-admin-sponsors .cc-action span:not(.screen-reader-text),
  .cc-admin-payments .cc-action span:not(.screen-reader-text),
  .cc-admin-seasons .cc-action span:not(.screen-reader-text),
  .cc-admin-communications .cc-action span:not(.screen-reader-text),
  .cc-admin-offers .cc-action span:not(.screen-reader-text),
  .cc-admin-events .cc-action span:not(.screen-reader-text) { display:none; }
  .cc-admin-sponsors .cc-action,
  .cc-admin-payments .cc-action,
  .cc-admin-seasons .cc-action,
  .cc-admin-communications .cc-action,
  .cc-admin-offers .cc-action,
  .cc-admin-events .cc-action { padding:0; min-width:0; min-height:0; }
  .cc-admin-sponsors .cc-action .cc-icon,
  .cc-admin-payments .cc-action .cc-icon,
  .cc-admin-seasons .cc-action .cc-icon,
  .cc-admin-communications .cc-action .cc-icon,
  .cc-admin-offers .cc-action .cc-icon,
  .cc-admin-events .cc-action .cc-icon { width:22px; height:22px; }
  .cc-admin-sponsors .cc-actions,
  .cc-admin-payments .cc-actions,
  .cc-admin-seasons .cc-actions,
  .cc-admin-communications .cc-actions,
  .cc-admin-offers .cc-actions,
  .cc-admin-events .cc-actions { gap:6px; }
}
.cc-admin-communications .cc-suggest__item:hover { background: #F9FAFB; }
.cc-admin-offers .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-offers .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-offers .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-offers .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-offers .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-offers .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-offers .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-offers .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-offers .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }

.cc-admin-events .cc-badge--draft { background:#E5E7EB; color:#111827; }
.cc-admin-events .cc-badge--draft:hover { background:#D1D5DB; color:#111827; }
.cc-admin-events .cc-badge--draft.is-active { background:#D1D5DB; color:#111827; }
.cc-admin-events .cc-badge--trash { background:#FEE2E2; color:#7F1D1D; }
.cc-admin-events .cc-badge--trash:hover { background:#FECACA; color:#7F1D1D; }
.cc-admin-events .cc-badge--trash.is-active { background:#FECACA; color:#7F1D1D; }
.cc-admin-events .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-events .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-events .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }

.cc-input[aria-invalid="true"] { border-color:#B91C1C; outline-color:#B91C1C; }
.cc-error-tip { display:flex; align-items:center; gap:6px; padding:6px 8px; margin-top:6px; border:1px solid #B91C1C; background:#FEE2E2; color:#7F1D1D; border-radius: var(--cc-radius-controls); font-size:13px; }
.cc-admin-sponsors .cc-badge--publish { background:#D1FAE5; color:#065F46; }
.cc-admin-sponsors .cc-badge--publish:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-sponsors .cc-badge--publish.is-active { background:#A7F3D0; color:#065F46; }
.cc-admin-sectors .cc-badge--assigned { background:#D1FAE5; color:#065F46; }
.cc-admin-sectors .cc-badge--assigned:hover { background:#A7F3D0; color:#065F46; }
.cc-admin-sectors .cc-badge--assigned.is-active { background:#A7F3D0; color:#065F46; }
.cc-admin-sectors .cc-badge--unassigned { background:#E5E7EB; color:#111827; }
.cc-admin-sectors .cc-badge--unassigned:hover { background:#D1D5DB; color:#111827; }
.cc-admin-sectors .cc-badge--unassigned.is-active { background:#D1D5DB; color:#111827; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__brand-text { display: none; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__home { justify-content: center; width: 100%; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__subnav { display: none; }
/* Show icons-only subnav for Club Admin and Sponsor menus when collapsed */
.cc-brand-sidebar.is-collapsed .cc-link--amministrazione + .cc-sidebar__subnav,
.cc-brand-sidebar.is-collapsed .cc-link--portal + .cc-sidebar__subnav,
.cc-brand-sidebar.is-collapsed .cc-link--cruscotto + .cc-sidebar__subnav,
.cc-brand-sidebar.is-collapsed .cc-link--settings + .cc-sidebar__subnav {
  display: flex; flex-direction: column; gap: 8px; margin-left: 0; padding-left: 0; border-left: 0;
}
.cc-brand-sidebar.is-collapsed .cc-link--amministrazione + .cc-sidebar__subnav .cc-sidebar__sublink,
.cc-brand-sidebar.is-collapsed .cc-link--portal + .cc-sidebar__subnav .cc-sidebar__sublink,
.cc-brand-sidebar.is-collapsed .cc-link--cruscotto + .cc-sidebar__subnav .cc-sidebar__sublink,
.cc-brand-sidebar.is-collapsed .cc-link--settings + .cc-sidebar__subnav .cc-sidebar__sublink { font-size: 0; text-align: center; padding: 10px; }
.cc-brand-sidebar.is-collapsed .cc-link--amministrazione + .cc-sidebar__subnav .cc-sidebar__sublink::before,
.cc-brand-sidebar.is-collapsed .cc-link--portal + .cc-sidebar__subnav .cc-sidebar__sublink::before,
.cc-brand-sidebar.is-collapsed .cc-link--cruscotto + .cc-sidebar__subnav .cc-sidebar__sublink::before,
.cc-brand-sidebar.is-collapsed .cc-link--settings + .cc-sidebar__subnav .cc-sidebar__sublink::before { margin-right: 0; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__link,
.cc-brand-sidebar.is-collapsed .cc-sidebar__group-title,
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink { padding: 10px; font-size: 0; text-align: center; display: flex; align-items: center; justify-content: center; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__link::before,
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink::before,
.cc-brand-sidebar.is-collapsed .cc-sidebar__group-title::before { margin-right: 0; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-dashboard"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-offer-new"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M11 11V4h2v7h7v2h-7v7h-2v-7H4v-2h7z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-event-new"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm-9 6h2v2h-2v-2zm4 0h2v2h-2v-2zm-4 4h2v2H10v-2zm4 0h2v2h-2v-2z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-offers"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M17.63 5.84C17.27 5.33 16.67 5 16 5H5c-1.11 0-2 .89-2 2v10c0 1.11.89 2 2 2h11c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-events"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 15H5V9h14v10z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsor-rsvps"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M9 16.17 4.83 12l-1.42 1.41L9 19l12-12-1.41-1.41z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/gestisci-sponsor"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/gestisci-sponsor/servizi"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M7 14l5-5 5 5-1.41 1.41L12 11.83l-3.59 3.58L7 14zm0-7h10v2H7V7z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/gestisci-sponsor/settori"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm10 0h8v8h-8v-8z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/gestisci-sponsor/livelli"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/payments-admin"]::before,
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/pagamenti"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M20 4H4c-1.1 0-2 .9-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4H4V6h16v2zm0 10H4v-8h16v8z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/stagioni"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .89-2 2v13c0 1.1.89 2 2 2h14c1.1 0 2-.89 2-2V6c0-1.1-.89-2-2-2zm0 15H5V9h14v10z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/comunicazioni"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M21 6h-2v9H5v2h14l2-2V6zM17 4H3c-1.1 0-2 .9-2 2v10l2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/impostazioni/utenti"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v3h20v-3c0-3.33-6.67-5-10-5z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/impostazioni/strumenti"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M22.7 19.3l-7.4-7.4c.4-1.1.2-2.4-.7-3.3-1-1-2.4-1.2-3.5-.6l2.1 2.1-1.4 1.4-2.1-2.1c-.6 1.1-.4 2.5.6 3.5 1 1 2.3 1.2 3.4.7l7.4 7.4 2.6-2.6zM7 14H3v-2h4V8h2v4h4v2H9v4H7v-4z"/></svg>'); }
/* Collapsed-only icons for Portal and Admin sublinks */
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/sponsors"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/offerte"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M17.63 5.84C17.27 5.33 16.67 5 16 5H5c-1.11 0-2 .89-2 2v10c0 1.11.89 2 2 2h11c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/eventi"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 15H5V9h14v10z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/comunicazioni"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M12 13.5l8-6V6l-8 6-8-6v1.5l8 6zM4 8v10h16V8l-8 6-8-6z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/inbox"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 3H4.99C3.89 3 3 3.89 3 4.99v14.03C3 20.12 3.88 21 4.98 21H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 14H5V5h14v12zm-4-8H9v1.5h6V9z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/sponsors"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__group-title[href*="/club-admin/gestisci-sponsor"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-link--amministrazione + .cc-sidebar__subnav .cc-sidebar__subnav--level2 { display: flex; flex-direction: column; gap: 8px; margin-left: 0; padding-left: 0; border-left: 0; }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/offerte"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M17.63 5.84C17.27 5.33 16.67 5 16 5H5c-1.11 0-2 .89-2 2v10c0 1.11.89 2 2 2h11c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"/></svg>'); }
.cc-brand-sidebar.is-collapsed .cc-sidebar__sublink[href*="/club-admin/eventi"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path fill="%23FFFFFF" d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 15H5V9h14v10z"/></svg>'); }
