/* Global: h1 bold */
h1 {
    font-weight: 700;
}

.fa-archive {
    display: grid;
    gap: 24px;
}

.fa-archive__filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
    padding: 18px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.fa-archive__field {
    display: grid;
    gap: 6px;
}

.fa-archive__field--search {
    grid-column: span 2;
}

.fa-archive__field label {
    font-size: 14px;
    font-weight: 600;
}

.fa-archive__field input,
.fa-archive__field select {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    background: #fff;
}

.fa-archive__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.fa-archive__actions button,
.fa-archive__actions a {
    min-height: 42px;
    padding: 10px 16px;
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, 0.16);
    background: #fff;
    color: inherit;
}

.fa-archive__count {
    font-size: 0.95em;
}

.fa-events-list {
    display: grid;
    gap: 24px;
}

.fa-events-list--card {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fa-events-list--simple {
    gap: 14px;
}

.fa-event-card {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    overflow: hidden;
}

.fa-event-card__image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.fa-event-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fa-event-card__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
    flex: 1;
}

.fa-event-card__type,
.fa-single-event__type {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0;
}

.fa-event-card__title,
.fa-single-event__title,
.fa-event-simple__title {
    margin: 0;
}

.fa-event-card__title a,
.fa-event-simple__title a {
    text-decoration: none;
}

.fa-event-card__subtitle,
.fa-single-event__subtitle {
    margin: 0;
    font-size: 1.05em;
}

.fa-event-card__meta,
.fa-event-simple__meta,
.fa-detail-list {
    font-size: 0.95em;
}

.fa-event-card__meta {
    display: grid;
    gap: 6px;
}

.fa-event-card__excerpt p:last-child,
.fa-single-event__summary p:last-child,
.fa-single-event__content p:last-child {
    margin-bottom: 0;
}

/* Restore list markers inside the event content (Divi resets ul/ol to none). */
.fa-single-event__content ul,
.fa-single-event__content ol {
    list-style-position: outside;
    padding-left: 1.4em;
    margin: 0 0 1em 0;
}
.fa-single-event__content ul { list-style-type: disc; }
.fa-single-event__content ol { list-style-type: decimal; }
.fa-single-event__content ul ul { list-style-type: circle; }
.fa-single-event__content ul ul ul { list-style-type: square; }
.fa-single-event__content li {
    list-style: inherit;
    margin: 0.25em 0;
}

/* Preserve user-typed line breaks in detail-list values (e.g. Eligibility). */
.fa-detail-list dd {
    white-space: pre-line;
}

.fa-event-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    margin-top: auto;
}

.fa-event-card__actions a,
.fa-event-card__link,
/* fa-single-event__cta handled below */

.fa-event-simple {
    padding: 0 0 14px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.fa-event-simple__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.fa-single-event__short-desc {
    font-style: italic;
    color: #555;
    margin: 0 0 14px 0;
    font-size: 0.95em;
    line-height: 1.5;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-single-event__summary,
.fa-single-event__content,
.fa-single-event__section {
    margin-bottom: 24px;
}

.fa-single-event__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(280px, 1fr);
    gap: 32px;
    align-items: start;
}

.fa-single-event__sidebar {
    position: sticky;
    top: 124px;
    align-self: start;
    padding-right: 24px;
}

.fa-single-event__sidebar .fa-single-event__section {
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    margin-bottom: 16px;
}

.fa-single-event__sidebar .fa-single-event__section h2 {
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    margin: 0 0 12px;
    padding: 0;
    border: none;
}

.fa-single-event__main {
    padding-left: 24px;
    padding-right: 24px;
}

.fa-detail-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
}

.fa-detail-list dt {
    font-weight: 700;
    margin: 0;
}

.fa-detail-list dd {
    margin: 0 0 10px;
}

.fa-detail-list dd:last-child {
    margin-bottom: 0;
}

@media (max-width: 980px) {
    .fa-events-list--card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fa-archive__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fa-archive__field--search {
        grid-column: span 2;
    }
}

@media (max-width: 767px) {
    .fa-event-card,
    .fa-single-event__grid,
    .fa-events-list--card,
    .fa-archive__filters {
        grid-template-columns: 1fr;
    }

    .fa-archive__field--search {
        grid-column: span 1;
    }

    .fa-single-event__sidebar {
        position: static;
        padding-left: 24px;
        padding-right: 24px;
    }
}

.fa-event-card__image-placeholder {display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:180px;padding:20px;background:rgba(0,0,0,.04);font-size:.95em;text-align:center;}
.fa-archive .fa-events-list,.fa-events-list{margin:0;padding:0;}

.fa-single-event__header {
    padding: 24px 24px 24px 24px;
}

.fa-single-event__cover {
    margin: 0 0 24px;
    display: flex;
    justify-content: center;
}

.fa-single-event__cover img {
    display: block;
    max-width: min(600px, 100%);
    max-height: 600px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.fa-submit-event {
    display: grid;
    gap: 18px;
}

.fa-submit-event__title,
.fa-submit-event__intro {
    margin: 0;
}

.fa-submit-event__notice {
    padding: 14px 16px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #fff;
}

.fa-submit-event__notice--success {
    border-color: rgba(46, 125, 50, 0.28);
}

.fa-submit-event__notice--error {
    border-color: rgba(183, 28, 28, 0.25);
}

.fa-submit-event__form {
    display: grid;
    gap: 20px;
}

.fa-submit-event__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fa-submit-event__field {
    display: grid;
    gap: 6px;
}

.fa-submit-event__field--wide {
    grid-column: 1 / -1;
}

.fa-submit-event__field label {
    font-size: 14px;
    font-weight: 600;
}

.fa-submit-event__field input,
.fa-submit-event__field select,
.fa-submit-event__field textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    background: #fff;
}

.fa-submit-event__field input[type="checkbox"] {
    width: auto;
    min-height: 0;
    padding: 0;
}

.fa-submit-event__field select[multiple] {
    min-height: 180px;
}

.fa-submit-event__help,
.fa-submit-event__field .description {
    margin: 0;
    font-size: 0.9em;
    opacity: 0.82;
}

.fa-submit-event__actions {
    margin: 0;
}

.fa-submit-event__actions button {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    background: #fff;
    color: inherit;
}

@media (max-width: 767px) {
    .fa-submit-event__grid {
        grid-template-columns: 1fr;
    }

    .fa-submit-event__field--wide {
        grid-column: auto;
    }
}

.fa-submit-event__field > * { box-sizing: border-box; }


#ui-datepicker-div {
    z-index: 999999 !important;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.16);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    padding: 8px;
}

#ui-datepicker-div .ui-datepicker-header {
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    padding: 6px;
}

#ui-datepicker-div table {
    border-collapse: collapse;
    width: 100%;
}

#ui-datepicker-div th,
#ui-datepicker-div td {
    text-align: center;
    padding: 2px;
}

#ui-datepicker-div a {
    display: block;
    text-decoration: none;
    padding: 4px 6px;
    border-radius: 3px;
}

#ui-datepicker-div .ui-state-active,
#ui-datepicker-div .ui-datepicker-current-day a {
    background: #2271b1;
    color: #fff;
}


.fa-single-organizer {
    max-width: 1100px;
}

.fa-single-organizer__header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-single-organizer__cover {
    margin-bottom: 24px;
}

.fa-single-organizer__cover img {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
}

.fa-single-organizer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(260px, 1fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 32px;
}

/* Events sections are outside the grid — full width */
.fa-single-organizer__events {
    margin-top: 8px;
}

.fa-single-organizer__main {
    padding-left: 24px;
    padding-right: 24px;
}

.fa-single-organizer__events {
    padding-left: 0;
}

.fa-single-organizer__summary {
    font-size: 1.05em;
    margin-bottom: 20px;
    line-height: 1.6;
}

.fa-single-organizer__section {
    margin-bottom: 28px;
}

.fa-single-organizer__section h2 {
    font-size: 1.1em;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-single-organizer__events-title {
    font-size: 1.3em;
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-single-organizer__events {
    padding-left: 24px;
    padding-right: 24px;
}

.fa-single-organizer__events-title--past {
    opacity: 0.7;
}

/* Type label in my_events list */
.fa-dashboard__item-type {
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #d12b5d;
    margin-bottom: 2px;
}

/* Sidebar */
.fa-single-organizer__sidebar {
    position: sticky;
    top: 114px;
    align-self: start;
}

.fa-single-organizer__name {
    margin: 0 0 16px;
    font-size: 1.4em;
    line-height: 1.3;
}

.fa-single-organizer__sidebar .fa-single-organizer__section {
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    margin-bottom: 16px;
}

.fa-single-organizer__sidebar .fa-single-organizer__section h2 {
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    border-bottom: none;
    margin-bottom: 12px;
    padding-bottom: 0;
}

.fa-organizer-events {
    margin: 0;
    padding-left: 1.25rem;
}

.fa-organizer-events__date {
    opacity: .8;
    font-size: .92em;
}

@media (max-width: 900px) {
    .fa-single-organizer__grid {
        grid-template-columns: 1fr;
    }
    .fa-single-organizer__sidebar {
        position: static;
        padding-left: 24px;
        padding-right: 24px;
    }
}

.fa-submit-event__static-value {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    background: rgba(0, 0, 0, 0.03);
}

.fa-dashboard {
    display: grid;
    gap: 24px;
}

.fa-dashboard__header,
.fa-dashboard__section {
    display: grid;
    gap: 14px;
}

.fa-dashboard__title,
.fa-dashboard__section-title {
    margin: 0;
}

.fa-dashboard__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 0.95em;
}

.fa-dashboard__table-wrap {
    overflow-x: auto;
}

.fa-dashboard__table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.fa-dashboard__table th,
.fa-dashboard__table td {
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    text-align: left;
    vertical-align: top;
}

.fa-status-badge {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 0.9em;
    line-height: 1.2;
}

/* --- Organizer mode radio buttons --- */
.fa-submit-event__radios {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.fa-submit-event__radio {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.95em;
}

.fa-submit-event__radio input[type="radio"] {
    width: 18px;
    min-height: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    cursor: pointer;
}

.fa-submit-event__radio--disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.fa-submit-event__guest-name {
    margin-top: 12px;
}

/* --- Dashboard hub --- */
.fa-dashboard__status-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px 24px;
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
    align-items: start;
}

.fa-dashboard__identity {
    display: grid;
    gap: 6px;
}

.fa-dashboard__organizer-bio {
    margin: 0;
    font-size: 0.95em;
    opacity: 0.8;
}

.fa-dashboard__badges {
    display: grid;
    gap: 8px;
    text-align: right;
}

.fa-dashboard__badge-row {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}

.fa-dashboard__badge-label {
    font-size: 0.88em;
    opacity: 0.7;
}

.fa-dashboard__badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 0.88em;
    border: 1px solid rgba(0,0,0,0.12);
}

.fa-dashboard__badge--plan {
    border-color: rgba(25,118,210,0.3);
    background: rgba(25,118,210,0.06);
}

.fa-dashboard__badge--trusted {
    border-color: rgba(46,125,50,0.3);
    background: rgba(46,125,50,0.06);
}

.fa-dashboard__badge--none,
.fa-dashboard__badge--no {
    opacity: 0.6;
}

.fa-dashboard__notice {
    padding: 14px 16px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
}

.fa-dashboard__notice--warning {
    border-color: rgba(230,81,0,0.25);
    background: rgba(255,243,224,0.6);
}

.fa-dashboard__cta {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 14px;
    border: 1px solid rgba(0,0,0,0.16);
    text-decoration: none;
    font-size: 0.95em;
}

.fa-dashboard__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fa-dashboard__nav-item {
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s;
}

.fa-dashboard__nav-item:hover {
    border-color: rgba(0,0,0,0.25);
}

.fa-dashboard__nav-item--disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.fa-dashboard__nav-item--logout {
    border-color: rgba(183,28,28,0.15);
}

.fa-dashboard__nav-label {
    font-weight: 600;
    font-size: 0.97em;
}

.fa-dashboard__nav-sub {
    font-size: 0.85em;
    opacity: 0.7;
}

.fa-dashboard__events-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.fa-dashboard__list {
    display: grid;
    gap: 10px;
}

.fa-dashboard__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
}

.fa-dashboard__item-title {
    margin: 0;
    font-size: 1em;
}

.fa-dashboard__item-title a {
    text-decoration: none;
}

.fa-dashboard__item-meta {
    margin: 4px 0 0;
    font-size: 0.88em;
    opacity: 0.7;
}

.fa-dashboard__edit-link {
    font-size: 0.9em;
    text-decoration: none;
    white-space: nowrap;
    padding: 5px 10px;
    border: 1px solid rgba(0,0,0,0.12);
}

@media (max-width: 767px) {
    .fa-dashboard__status-card {
        grid-template-columns: 1fr;
    }
    .fa-dashboard__badges {
        text-align: left;
    }
    .fa-dashboard__badge-row {
        justify-content: flex-start;
    }
    .fa-dashboard__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .fa-dashboard__nav {
        grid-template-columns: 1fr;
    }
}

/* --- Account profile avatar --- */
.fa-profile__avatar-field {
    display: grid;
    gap: 8px;
}

.fa-profile__avatar-preview {
    display: block;
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid rgba(0,0,0,0.10);
}

/* --- Dashboard services placeholder --- */
.fa-dashboard__services {
    display: grid;
}

.fa-dashboard__services .fa-dashboard__nav-item--disabled {
    border-style: dashed;
    text-align: center;
    justify-items: center;
}

/* --- My events filters --- */
.fa-dashboard__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding: 14px 16px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
}

.fa-dashboard__filter-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.fa-dashboard__filter-label {
    font-size: 0.88em;
    font-weight: 600;
    opacity: 0.6;
    margin-right: 2px;
}

.fa-dashboard__filter-btn {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.88em;
    border: 1px solid rgba(0,0,0,0.12);
    text-decoration: none;
    color: inherit;
    background: #fff;
}

.fa-dashboard__filter-btn--active {
    border-color: rgba(0,0,0,0.35);
    background: rgba(0,0,0,0.04);
    font-weight: 600;
}

.fa-dashboard__filter-count {
    font-size: 0.9em;
    opacity: 0.65;
}

/* Status badge colors on event items */
.fa-dashboard__item-status {
    display: inline-block;
    padding: 2px 7px;
    font-size: 0.82em;
    border: 1px solid rgba(0,0,0,0.10);
}

.fa-dashboard__item-status--publish {
    border-color: rgba(46,125,50,0.3);
    background: rgba(46,125,50,0.06);
}

.fa-dashboard__item-status--pending {
    border-color: rgba(230,81,0,0.25);
    background: rgba(255,243,224,0.5);
}

.fa-dashboard__item-status--draft {
    opacity: 0.6;
}

.fa-dashboard__item-status--fa_rejected {
    border-color: rgba(183,28,28,0.2);
    background: rgba(255,235,238,0.5);
}

@media (max-width: 767px) {
    .fa-dashboard__filters {
        flex-direction: column;
        gap: 10px;
    }
}

/* --- Plan page --- */
.fa-plan__current {
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
}

.fa-plan__current-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.fa-plan__current-label {
    margin: 0 0 4px;
    font-size: 0.88em;
    opacity: 0.6;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fa-plan__current-name {
    margin: 0;
    font-size: 1.4em;
    font-weight: 700;
}

.fa-plan__current-expiry {
    margin: 6px 0 0;
    font-size: 0.9em;
}

.fa-plan__current-badge {
    display: inline-block;
    padding: 1px 7px;
    font-size: 0.75em;
    font-weight: 600;
    border: 1px solid rgba(46,125,50,0.35);
    background: rgba(46,125,50,0.07);
    vertical-align: middle;
}

.fa-plan__current-action p {
    margin: 0;
    font-size: 0.95em;
}

.fa-plan__table-wrap {
    overflow-x: auto;
}

.fa-plan__table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 0.95em;
}

.fa-plan__table th,
.fa-plan__table td {
    padding: 10px 14px;
    border: 1px solid rgba(0,0,0,0.08);
    text-align: left;
    vertical-align: middle;
}

.fa-plan__table th {
    font-weight: 700;
    background: rgba(0,0,0,0.02);
}

.fa-plan__col--current {
    background: rgba(25,118,210,0.04);
}

.fa-plan__table th.fa-plan__col--current {
    background: rgba(25,118,210,0.09);
}

.fa-plan__cell {
    text-align: center;
}

.fa-plan__check--yes {
    color: #2e7d32;
    font-weight: 700;
    font-size: 1.1em;
}

.fa-plan__check--no {
    opacity: 0.3;
}

.fa-plan__price-row td {
    background: rgba(0,0,0,0.02);
}

.fa-plan__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 4px;
}

.fa-plan__action-item {
    display: grid;
    gap: 6px;
}

.fa-plan__action-label {
    margin: 0;
    font-weight: 700;
    font-size: 0.95em;
}

.fa-plan__action-btn {
    padding: 10px 20px;
    border: 1px solid rgba(0,0,0,0.16);
    background: #fff;
    font-size: 0.95em;
    cursor: pointer;
}

.fa-plan__action-btn--disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.fa-plan__action-btn--cancel {
    border-color: rgba(183,28,28,0.2);
}

.fa-plan__action-note {
    margin: 0;
    font-size: 0.82em;
    opacity: 0.65;
}

/* --- Plan table note rows --- */
.fa-plan__note-row td {
    background: rgba(0,0,0,0.01);
    font-style: italic;
}

.fa-plan__note {
    font-size: 0.85em;
    opacity: 0.75;
}

/* --- Tooltip (CSS only) --- */
.fa-tooltip {
    position: relative;
    display: inline-block;
    cursor: help;
    vertical-align: middle;
}

.fa-tooltip__icon {
    font-style: normal;
    font-size: 0.95em;
    opacity: 0.55;
    user-select: none;
}

.fa-tooltip__text {
    display: none;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    padding: 8px 10px;
    background: #333;
    color: #fff;
    font-size: 0.82em;
    font-weight: 400;
    line-height: 1.4;
    border-radius: 3px;
    z-index: 100;
    pointer-events: none;
    white-space: normal;
}

.fa-tooltip:hover .fa-tooltip__text,
.fa-tooltip:focus .fa-tooltip__text {
    display: block;
}

/* --- Account deletion section --- */
.fa-account-delete {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(183,28,28,0.15);
}

.fa-account-delete__title {
    color: #b71c1c;
}

.fa-account-delete__desc {
    font-size: 0.95em;
    opacity: 0.8;
}

.fa-account-delete__warning {
    padding: 14px 16px;
    border: 1px solid rgba(183,28,28,0.25);
    background: rgba(255,235,238,0.5);
    margin-bottom: 16px;
}

.fa-account-delete__form {
    max-width: 360px;
}

.fa-account-delete__btn {
    background: #fff;
    border: 1px solid rgba(183,28,28,0.35);
    color: #b71c1c;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 0.9em;
}

.fa-account-delete__confirm-btn {
    background: #b71c1c;
    border: 1px solid #b71c1c;
    color: #fff;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 0.95em;
}

.fa-account-delete__confirm-btn:hover {
    background: #7f0000;
    border-color: #7f0000;
}

/* --- Plan table CTA row --- */
.fa-plan__cta-row td {
    padding: 12px 14px;
    background: rgba(0,0,0,0.01);
    vertical-align: top;
}

.fa-plan__cta-btn {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.88em;
    cursor: pointer;
    text-align: center;
}

.fa-plan__cta-btn--disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.fa-plan__cta-btn--cancel {
    border-color: rgba(183,28,28,0.25);
    color: #b71c1c;
}

.fa-plan__cta-note {
    margin: 5px 0 0;
    font-size: 0.78em;
    opacity: 0.6;
    text-align: center;
}

.fa-plan__cta-active {
    display: block;
    text-align: center;
    font-size: 0.85em;
    font-weight: 600;
    opacity: 0.6;
    padding: 8px 0;
}

.fa-plan__coming-soon {
    margin-top: 12px;
    font-size: 0.88em;
    opacity: 0.65;
}

/* --- Services page --- */
.fa-services__section {
    margin-bottom: 40px;
}

.fa-services__title {
    margin: 0 0 10px;
    font-size: 1.3em;
}

.fa-services__intro {
    margin: 0 0 20px;
    font-size: 0.95em;
    opacity: 0.8;
}

.fa-services__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.fa-services__card {
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    display: grid;
    gap: 12px;
    align-content: start;
}

.fa-services__card-title {
    margin: 0;
    font-size: 1.05em;
}

.fa-services__card-desc {
    margin: 0;
    font-size: 0.9em;
    opacity: 0.75;
}

.fa-services__price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
}

.fa-services__price-table th,
.fa-services__price-table td {
    padding: 7px 10px;
    border: 1px solid rgba(0,0,0,0.08);
    text-align: left;
}

.fa-services__price-table th {
    background: rgba(0,0,0,0.03);
    font-weight: 600;
}

.fa-services__saving {
    font-size: 0.82em;
    color: #2e7d32;
}

.fa-services__cta-btn {
    display: block;
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.95em;
    cursor: pointer;
    text-align: center;
}

.fa-services__cta-btn--disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.fa-services__coming-soon {
    margin: 0;
    font-size: 0.8em;
    opacity: 0.55;
    text-align: center;
}

.fa-services__rules {
    margin-top: 20px;
    padding: 16px 20px;
    border: 1px solid rgba(0,0,0,0.08);
    background: rgba(0,0,0,0.01);
}

.fa-services__rules-title {
    margin: 0 0 10px;
    font-size: 0.95em;
}

.fa-services__rules ul {
    margin: 0;
    padding-left: 20px;
}

.fa-services__rules li {
    margin-bottom: 5px;
    font-size: 0.9em;
    opacity: 0.8;
}

.fa-services__section--future {
    border-top: 1px solid rgba(0,0,0,0.08);
    padding-top: 24px;
}

.fa-services__future-placeholder {
    padding: 30px;
    border: 1px dashed rgba(0,0,0,0.15);
    text-align: center;
}

.fa-services__future-label {
    font-size: 0.95em;
    opacity: 0.45;
    font-style: italic;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .fa-services__cards {
        grid-template-columns: 1fr;
    }
}

/* --- Auth page sections --- */
.fa-auth-page {
    max-width: 680px;
}

/* Each auth section as a card */
.fa-auth--login,
.fa-auth--register {
    padding: 24px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    margin-bottom: 20px;
}

.fa-auth--register-cta {
    padding: 24px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    margin-bottom: 20px;
}

.fa-auth--plans {
    margin-bottom: 0;
}

.fa-auth__section-title {
    margin: 0 0 16px;
    font-size: 1.2em;
}

.fa-auth__back {
    margin: -8px 0 16px;
    font-size: 0.9em;
}

.fa-auth__register-desc {
    margin: 0 0 16px;
    font-size: 0.95em;
    opacity: 0.8;
}

.fa-auth__register-btn {
    display: inline-block;
    padding: 10px 24px;
    border: 1px solid rgba(0,0,0,0.2);
    text-decoration: none;
    color: inherit;
    font-size: 0.95em;
    font-weight: 600;
}

.fa-auth__register-btn:hover {
    border-color: rgba(0,0,0,0.45);
}

/* --- Single event cover credit --- */
.fa-single-event__cover-credit {
    margin: 6px 0 20px;
    padding-left: 24px;
    font-size: 0.82em;
    opacity: 0.65;
    font-style: italic;
    text-align: left;
}

/* --- Auth page: aligned login form --- */
.fa-auth__form {
    max-width: 400px;
}

.fa-auth__field {
    display: grid;
    gap: 5px;
    margin-bottom: 14px;
}

.fa-auth__field label {
    font-weight: 600;
    font-size: 0.9em;
}

.fa-auth__field input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.95em;
    box-sizing: border-box;
}

.fa-auth__field input:focus {
    outline: none;
    border-color: rgba(0,0,0,0.4);
}

.fa-auth__submit {
    padding: 10px 28px;
    border: 1px solid rgba(0,0,0,0.2);
    background: #fff;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
}

.fa-auth__submit:hover {
    border-color: rgba(0,0,0,0.45);
}

.fa-auth__meta {
    margin-top: 10px;
    font-size: 0.88em;
    opacity: 0.7;
}

.fa-auth__hint {
    font-size: 0.85em;
    opacity: 0.65;
}

/* Spacing between auth sections */
.fa-auth--login {
    padding-bottom: 36px;
    margin-bottom: 36px;
}

.fa-auth--register-cta {
    padding-bottom: 36px;
    margin-bottom: 36px;
}

/* --- Plan table: mobile responsive --- */
@media (max-width: 767px) {
    .fa-plan__table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .fa-plan__table {
        min-width: 480px;
        font-size: 0.85em;
    }

    .fa-plan__table th,
    .fa-plan__table td {
        padding: 7px 8px;
    }

    .fa-plan__cta-btn {
        font-size: 0.78em;
        padding: 6px 6px;
    }
}

/* Services table mobile */
@media (max-width: 767px) {
    .fa-services__price-table {
        font-size: 0.88em;
    }
}

/* --- Auth table layout --- */
.fa-auth__table {
    border-collapse: collapse;
    width: auto;
    margin-bottom: 8px;
}

.fa-auth__table th {
    text-align: right;
    padding: 7px 14px 7px 0;
    font-weight: 600;
    font-size: 0.9em;
    white-space: nowrap;
    vertical-align: middle;
    width: 1%;
}

.fa-auth__table td {
    padding: 7px 0;
    vertical-align: middle;
}

.fa-auth__table input[type="text"],
.fa-auth__table input[type="email"],
.fa-auth__table input[type="password"] {
    width: 280px !important;
    max-width: 100%;
    padding: 8px 11px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.95em;
    box-sizing: border-box;
}

.fa-auth__table input:focus {
    outline: none;
    border-color: rgba(0,0,0,0.4);
}

.fa-auth__actions {
    margin: 12px 0 4px;
}

@media (max-width: 480px) {
    .fa-auth__table,
    .fa-auth__table tbody,
    .fa-auth__table tr,
    .fa-auth__table th,
    .fa-auth__table td {
        display: block;
        width: 100%;
    }
    .fa-auth__table th {
        text-align: left;
        padding: 8px 0 3px;
    }
    .fa-auth__table td {
        padding: 0 0 10px;
    }
    .fa-auth__table input[type="text"],
    .fa-auth__table input[type="email"],
    .fa-auth__table input[type="password"] {
        width: 100%;
    }
}

/* --- Plan table: card layout on mobile --- */
/* Plan mobile cards — hidden by default, shown on mobile */
.fa-plan__cards-mobile {
    display: none !important;
}

@media (max-width: 767px) {
    .fa-plan__table-wrap {
        overflow: visible;
    }

    .fa-plan__table {
        display: none !important;
    }

    .fa-plan__cards-mobile {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

@media (max-width: 420px) {
    .fa-plan__cards-mobile {
        grid-template-columns: 1fr !important;
    }

    .fa-plan__card-mobile {
        border: 1px solid rgba(0,0,0,0.10);
        background: #fff;
        padding: 14px;
        display: grid;
        gap: 8px;
    }

    .fa-plan__card-mobile--current {
        border-color: rgba(0,0,0,0.25);
        background: rgba(0,0,0,0.02);
    }

    .fa-plan__card-mobile__title {
        font-weight: 700;
        font-size: 1em;
        margin: 0 0 2px;
        padding: 5px 0;
        background: transparent;
        border-bottom: 2px solid rgba(0,0,0,0.08);
    }

    .fa-plan__card-mobile--current .fa-plan__card-mobile__title {
        border-bottom-color: rgba(0,0,0,0.20);
    }

    .fa-plan__card-mobile__price {
        font-size: 0.9em;
        opacity: 0.75;
        margin: 0;
    }

    .fa-plan__card-mobile__features,
    .fa-plan__card-mobile__features li,
    ul.fa-plan__card-mobile__features,
    ul.fa-plan__card-mobile__features li {
        list-style: none !important;
        list-style-type: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
    }

    .fa-plan__card-mobile__features li::before,
    .fa-plan__card-mobile__features li::marker {
        display: none !important;
        content: none !important;
    }

    .fa-plan__card-mobile__features {
        font-size: 0.85em;
        display: grid !important;
        gap: 4px;
    }

    .fa-plan__card-mobile__features li {
        display: flex;
        align-items: baseline;
        gap: 5px;
    }

    .fa-plan__card-mobile__features .yes { color: #2e7d32; }
    .fa-plan__card-mobile__features .no  { opacity: 0.35; }
}



/* --- Dashboard public page link --- */
.fa-dashboard__public-link {
    display: inline-block;
    font-size: 0.88em;
    margin-top: 4px;
    text-decoration: none;
    opacity: 0.75;
}

.fa-dashboard__public-link:hover {
    opacity: 1;
}

/* --- Subscription status in dashboard --- */
.fa-dashboard__badge-row--sub {
    margin-top: -4px;
    padding-bottom: 6px;
}

.fa-dashboard__sub-status {
    font-size: 0.82em;
    opacity: 0.7;
}

.fa-dashboard__sub-status--warn {
    color: #b71c1c;
    opacity: 1;
}

/* Plan page cancel/warn expiry */
.fa-plan__current-expiry--warn {
    color: #b71c1c;
    font-size: 0.9em;
}

/* ==========================================================================
   Featured Slot Wizard ([fa_services] purchase flow)
   ========================================================================== */

.fa-featured-wizard {
    margin-top: 32px;
    padding: 24px;
    background: var(--fa-surface, #fff);
    border: 1px solid var(--fa-border, #e0e0e0);
    border-radius: 8px;
}

.fa-featured-wizard__title {
    margin-top: 0;
}

.fa-featured-wizard__back {
    background: none;
    border: none;
    color: #1a1a2e;
    cursor: pointer;
    font-size: 0.9em;
    padding: 0;
    margin-bottom: 20px;
    text-decoration: underline;
}

.fa-featured-wizard__loading {
    color: #666;
    font-style: italic;
}

/* Event list */
.fa-featured-wizard__events {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.fa-featured-event-item {
    padding: 12px 16px;
    border: 2px solid var(--fa-border, #e0e0e0);
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fa-featured-event-item:hover {
    border-color: #1a1a2e;
}

.fa-featured-event-item--selected {
    border-color: #1a1a2e;
    background: var(--fa-primary-light, #f0f4ff);
}

.fa-featured-event-item--blocked {
    opacity: 0.5;
    cursor: not-allowed;
}

.fa-featured-event-title {
    font-weight: 600;
    font-size: 0.95em;
}

.fa-featured-event-cat {
    font-size: 0.82em;
    color: #666;
}

.fa-featured-event-note {
    font-size: 0.8em;
    color: var(--fa-warn, #b71c1c);
}

/* Weeks selector */
.fa-featured-wizard__weeks-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.fa-featured-weeks-select {
    padding: 6px 10px;
    border: 1px solid var(--fa-border, #e0e0e0);
    border-radius: 4px;
    font-size: 1em;
}

/* Calendar grid */
.fa-featured-cal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
    margin-bottom: 20px;
}

.fa-featured-cal-week {
    padding: 10px 12px;
    border-radius: 6px;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 2px solid transparent;
}

.fa-featured-cal-week--green  { background: #e8f5e9; }
.fa-featured-cal-week--yellow { background: #fff8e1; }
.fa-featured-cal-week--full   { background: #ffebee; cursor: not-allowed; opacity: 0.6; }

.fa-featured-cal-week--selected {
    border-color: #1a1a2e;
    box-shadow: 0 0 0 2px var(--fa-primary, #1a1a2e);
}

.fa-featured-cal-week:not(.fa-featured-cal-week--full):hover {
    transform: translateY(-2px);
}

.fa-featured-cal-date {
    font-weight: 600;
    font-size: 0.9em;
}

.fa-featured-cal-free {
    font-size: 0.8em;
    color: var(--fa-muted, #555);
}

/* Summary */
.fa-featured-wizard__summary {
    padding: 16px;
    background: var(--fa-bg, #f8f8f8);
    border-radius: 6px;
    margin-bottom: 16px;
}

.fa-featured-wizard__summary h4 {
    margin-top: 0;
}

.fa-featured-summary-total {
    font-size: 1.1em;
    margin: 8px 0 4px;
}

.fa-featured-wizard__checkout {
    padding: 12px 28px;
    font-size: 1em;
}

/* Promuovi links in my_events */
.fa-dashboard__promote-wrap {
    white-space: nowrap;
}

.fa-dashboard__promote-link {
    font-size: 0.88em;
    color: #1a1a2e;
}

/* Featured display shortcode */
.fa-featured-display {
    margin-bottom: 32px;
}

.fa-featured-display__title {
    font-weight: 700;
    margin: 0 0 12px;
}

.fa-featured-display__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* Featured horizontal list */
.fa-featured-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(209, 43, 93, 0.08);
    border-left: 3px solid #d12b5d;
}

/* Archive/events list view: same layout as featured but no background */
.fa-events-list--simple .fa-event-simple,
.fa-archive-list--simple .fa-event-simple {
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.fa-featured-list__item {
    display: grid !important;
    grid-template-columns: 90px 1fr auto !important;
    align-items: center;
    gap: 8px 20px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(209, 43, 93, 0.12);
    list-style: none;
}

.fa-featured-list__item:last-child {
    border-bottom: none;
}

.fa-featured-list__type {
    font-size: 0.72em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #d12b5d;
}

.fa-featured-list__title {
    font-weight: 600;
    font-size: 0.95em;
    text-decoration: none;
    color: inherit;
    line-height: 1.3;
}

.fa-featured-list__title:hover { color: #d12b5d; }

.fa-featured-list__main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.fa-featured-list__meta {
    font-size: 0.82em;
    color: #555;
}

.fa-featured-list__date,
.fa-featured-list__location {
    font-size: 0.85em;
    color: #444;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fa-featured-list__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    white-space: nowrap;
}

.fa-featured-list__link {
    font-size: 0.82em;
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid rgba(0,0,0,0.25);
    color: #333;
}

.fa-featured-list__cta {
    font-size: 0.82em;
    text-decoration: none;
    padding: 4px 10px;
    background: #d12b5d;
    color: #fff;
    border: 1px solid #d12b5d;
    font-weight: 600;
}

.fa-featured-list__cta:hover { opacity: 0.88; color: #fff; }
.fa-featured-list__link:hover { border-color: rgba(0,0,0,0.4); }

@media (max-width: 600px) {
    .fa-featured-list__item {
        grid-template-columns: 1fr auto !important;
    }
    .fa-featured-list__type { display: none; }
    .fa-featured-list__meta { display: none; }
}

/* Week range highlight */
.fa-featured-cal-week--in-range {
    outline: 2px solid var(--fa-primary, #1a1a2e);
    outline-offset: -2px;
}

.fa-featured-cal-week--selected.fa-featured-cal-week--in-range {
    background: var(--fa-primary-light, #e8eaf6);
}

/* Promuovi button in my_events */
.fa-dashboard__promote-link {
    color: #b8860b;
    font-weight: 600;
    text-decoration: none;
}

.fa-dashboard__promote-link:before {
    content: '\2605\00A0';
}

.fa-dashboard__promote-link:hover {
    text-decoration: underline;
}

/* My promos table */
.fa-services__my-promos {
    margin-top: 0;
}

/* ==========================================================================
   Le mie promozioni ([fa_my_promotions])
   ========================================================================== */

.fa-my-promos__cta {
    margin-bottom: 24px;
}

/* Calendar grid — responsive columns */
.fa-my-promos__calendar {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    align-items: start; /* prevent cells stretching to row height */
}

@media (max-width: 768px) {
    .fa-my-promos__calendar { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 480px) {
    .fa-my-promos__calendar { grid-template-columns: repeat(3, 1fr); }
}

/* Week box */
.fa-my-promos__week {
    padding: 10px 8px;
    border-radius: 6px;
    background: #f5f5f5;
    cursor: pointer;
    position: relative;
    transition: transform 0.1s;
    min-height: 52px;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.fa-my-promos__week:hover {
    transform: translateY(-2px);
}

.fa-my-promos__week--active {
    background: #d12b5d;
    color: #fff;
}

.fa-my-promos__week--past {
    opacity: 0.5;
}

.fa-my-promos__week--current {
    outline: 3px solid #1a1a2e;
    outline-offset: -3px;
}

.fa-my-promos__week--has-detail {
    cursor: pointer;
}

.fa-my-promos__week--open .fa-my-promos__week-arrow {
    display: inline-block;
    transform: rotate(180deg);
}

.fa-my-promos__week-label {
    display: block;
    font-size: 0.85em;
    font-weight: 600;
}

.fa-my-promos__week-count {
    display: inline-block;
    background: #fff;
    color: #d12b5d;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 0.78em;
    font-weight: 700;
    margin-top: 4px;
}

.fa-my-promos__week-arrow {
    display: inline-block;
    font-size: 0.65em;
    margin-left: 4px;
    opacity: 0.7;
    transition: transform 0.2s;
}

/* Accordion — spans full grid width */
.fa-my-promos__accordion {
    grid-column: 1 / -1; /* always full width */
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px 16px;
    margin: -2px 0 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

.fa-my-promos__accordion[hidden] {
    display: none;
}

.fa-my-promos__slot {
    padding: 6px 0;
    font-size: 0.9em;
    border-bottom: 1px solid #f0f0f0;
}

.fa-my-promos__slot:last-child {
    border-bottom: none;
}

.fa-my-promos__slot--active strong {
    color: #d12b5d;
}

/* ==========================================================================
   I miei acquisti ([fa_my_orders])
   ========================================================================== */

.fa-my-orders__table {
    margin-top: 16px;
}

.fa-my-orders__table th {
    background: #f8f8f8;
}

/* Featured badge in my_events */
.fa-dashboard__featured-badge {
    display: inline-block;
    background: #d12b5d;
    color: #fff;
    font-size: 0.72em;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 3px;
    vertical-align: middle;
    letter-spacing: 0.03em;
    margin-left: 4px;
}

/* ==========================================================================
   Campo lingua nel form submit evento
   ========================================================================== */

.fa-submit-event__field--languages {
    grid-column: 1 / -1;
}

.fa-submit-event__checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.fa-submit-event__checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: normal;
    cursor: pointer;
}

/* ==========================================================================
   Campo persona (autocomplete) nel form submit evento
   ========================================================================== */

.fa-submit-event__field--person {
    position: relative;
}

.fa-submit-event__hint {
    font-size: 0.82em;
    color: #666;
    margin: 2px 0 0;
}

.fa-person-ac-sugg div:first-child {
    border-radius: 4px 4px 0 0;
}

.fa-person-ac-sugg div:last-child {
    border-radius: 0 0 4px 4px;
    border-bottom: none;
}

/* ==========================================================================
   Archivio persona (/persona/nome/)
   ========================================================================== */

.fa-persona-archive {
    max-width: 960px;
}

.fa-persona-archive__header {
    display: flex;
    gap: 28px;
    margin-bottom: 36px;
    align-items: flex-start;
}

.fa-persona-archive__photo {
    flex-shrink: 0;
}

.fa-persona-archive__img {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.fa-persona-archive__credit {
    font-size: 0.75em;
    color: #666;
    text-align: center;
    margin-top: 4px;
}

.fa-persona-archive__name {
    margin-top: 0;
}

.fa-persona-archive__bio {
    margin: 12px 0;
    line-height: 1.6;
}

.fa-persona-archive__url a {
    color: #1a1a2e;
    font-size: 0.9em;
}

.fa-persona-archive__section-title {
    margin-top: 40px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e0e0e0;
}

.fa-persona-archive__section-title--past {
    opacity: 0.7;
}

.fa-persona-archive__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.fa-persona-archive__grid--past {
    opacity: 0.75;
}

.fa-persona-card {
    border: 1px solid var(--fa-border, #e0e0e0);
    border-radius: 8px;
    overflow: hidden;
    background: var(--fa-surface, #fff);
    transition: box-shadow 0.15s;
}

.fa-persona-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.fa-persona-card__thumb img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.fa-persona-card__body {
    padding: 14px 16px;
}

.fa-persona-card__type {
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #1a1a2e;
    opacity: 0.6;
}

.fa-persona-card__title {
    margin: 6px 0 8px;
    font-size: 1em;
    line-height: 1.3;
}

.fa-persona-card__title a {
    color: #1a1a2e;
    text-decoration: none;
}

.fa-persona-card__title a:hover {
    text-decoration: underline;
}

.fa-persona-card__date,
.fa-persona-card__city {
    font-size: 0.83em;
    color: #666;
    margin: 2px 0;
}

@media (max-width: 600px) {
    .fa-persona-archive__header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* Person link in event details */
.fa-person-link {
    color: #1a1a2e;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.fa-person-link:hover {
    text-decoration-style: solid;
}

/* [fa_persone] archive grid */
.fa-persone-archive__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.fa-persone-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #1a1a2e;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--fa-border, #e0e0e0);
    transition: box-shadow 0.15s;
    text-align: center;
}

.fa-persone-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.fa-persone-card__img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
}

.fa-persone-card__img--placeholder {
    background: var(--fa-border, #e0e0e0);
    border-radius: 50%;
}

.fa-persone-card__name {
    font-size: 0.9em;
    font-weight: 600;
}

/* Stats admin pages */
.fa-stats-wrap { max-width: 1200px; }
.fa-stats-nav { display:flex; gap:4px; margin:12px 0 24px; flex-wrap:wrap; }
.fa-stats-nav a { padding:6px 14px; background:#f0f0f0; border-radius:4px; text-decoration:none; color:#1d2327; font-size:0.9em; }
.fa-stats-nav a.active { background:#1d2327; color:#fff; }
.fa-stat-boxes { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0 24px; }
.fa-stat-box { background:#fff; border:1px solid #e0e0e0; border-radius:8px; padding:16px 20px; min-width:140px; }
.fa-stat-box__label { font-size:0.8em; color:#666; margin-bottom:4px; }
.fa-stat-box__value { font-size:1.8em; font-weight:700; color:#1d2327; line-height:1; }
.fa-stat-box__sub { font-size:0.75em; color:#999; margin-top:4px; }
.fa-period-selector { display:flex; gap:4px; margin-bottom:20px; }
.fa-period-selector a { padding:5px 12px; background:#f0f0f0; border-radius:4px; text-decoration:none; color:#1d2327; font-size:0.85em; }
.fa-period-selector a.active { background:#2271b1; color:#fff; }
.fa-chart-wrap { background:#fff; border:1px solid #e0e0e0; border-radius:8px; padding:16px; margin-bottom:24px; }
.fa-series-selector { background:#fff; border:1px solid #e0e0e0; border-radius:8px; padding:16px; margin-bottom:20px; }
.fa-series-selector__options { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.fa-series-selector__options label { display:flex; align-items:center; gap:6px; font-size:0.9em; cursor:pointer; }



/* Featured badge on event cards */
.fa-event-card--featured {
    border-color: #d12b5d;
    border-width: 2px;
}

.fa-event-card__featured-badge {
    display: inline-block;
    font-size: 0.7em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #d12b5d;
    border: 1px solid #d12b5d;
    padding: 2px 7px;
    margin-bottom: 2px;
}

/* View toggle buttons */
.fa-archive__results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 8px;
}

.fa-view-toggle {
    display: flex;
    gap: 0;
    border: 1px solid rgba(0,0,0,0.15);
    overflow: hidden;
}

.fa-view-toggle__btn {
    background: #fff;
    border: none;
    padding: 6px 12px;
    cursor: pointer;
    font-size: 1em;
    line-height: 1;
    color: #666;
    transition: background 0.15s, color 0.15s;
}

.fa-view-toggle__btn + .fa-view-toggle__btn {
    border-left: 1px solid rgba(0,0,0,0.12);
}

.fa-view-toggle__btn:hover {
    background: #f5f5f5;
    color: #1a1a2e;
}

.fa-view-toggle__btn.active {
    background: #1a1a2e;
    color: #fff;
}

/* iCal link */
.fa-single-event__ical {
    margin-top: 12px;
    text-align: left !important;
}

.fa-ical-link {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    font-size: 0.85em;
    color: #666;
    text-decoration: none;
    text-align: left !important;
}

.fa-ical-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 6px;
    background: #e9ecef;
    color: #888;
    flex-shrink: 0;
    transition: background .15s, color .15s;
}

.fa-ical-link:hover .fa-ical-link__icon {
    background: #d12b5d;
    color: #fff;
}

.fa-ical-link:hover { color: #666 !important; }


/* Compact list view: fa_events toggle */
.fa-events-list--simple .fa-event-card {
    flex-direction: row;
    border-left: 2px solid rgba(0,0,0,0.08);
    border-top: none;
    border-right: none;
    border-bottom: none;
    background: transparent;
    margin-bottom: 2px;
}

.fa-events-list--simple .fa-event-card__image {
    display: none;
}

.fa-events-list--simple .fa-event-card__body {
    padding: 8px 12px;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 16px;
    flex: 1;
}

.fa-events-list--simple .fa-event-card__featured-badge,
.fa-events-list--simple .fa-event-card__subtitle,
.fa-events-list--simple .fa-event-card__excerpt {
    display: none;
}

.fa-events-list--simple .fa-event-card__type {
    font-size: 0.72em;
    opacity: 0.7;
    min-width: 80px;
}

.fa-events-list--simple .fa-event-card__title {
    font-size: 0.95em;
    margin: 0;
    flex: 1 1 200px;
}

.fa-events-list--simple .fa-event-card__meta {
    display: flex;
    flex-direction: row;
    gap: 12px;
    font-size: 0.85em;
    opacity: 0.75;
}

.fa-events-list--simple .fa-event-card__actions {
    margin-top: 0;
    font-size: 0.85em;
}

.fa-events-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

/* ==========================================================================
   Newsletter form [fa_newsletter]
   ========================================================================== */

.fa-newsletter {
    max-width: 600px;
}

.fa-newsletter__card {
    padding: 28px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
}

/* No dark header — use simple title like the rest of the site */
.fa-newsletter__card-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-newsletter__card-header h2 {
    margin: 0 0 6px;
    font-size: 1.3em;
}

.fa-newsletter__card-header p {
    margin: 0;
    font-size: 0.9em;
    opacity: 0.75;
}

.fa-newsletter__card-body {
    /* no extra padding needed, card already has it */
}

.fa-newsletter__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.fa-newsletter__section {
    padding: 16px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.fa-newsletter__section:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.fa-newsletter__section-title {
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #999;
    margin: 0 0 12px;
}

/* Name row side by side */
.fa-newsletter__row-double {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.fa-newsletter__field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.fa-newsletter__field label {
    font-size: 0.85em;
    font-weight: 600;
}

.fa-newsletter__field input[type="text"],
.fa-newsletter__field input[type="email"] {
    padding: 8px 10px;
    border: 1px solid rgba(0,0,0,0.15);
    font-size: 0.95em;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}

.fa-newsletter__field input:focus {
    outline: 2px solid rgba(0,0,0,0.15);
    outline-offset: 1px;
    border-color: rgba(0,0,0,0.3);
}

/* Checkboxes — simple inline labels, no pills */
.fa-newsletter__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.fa-newsletter__check-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9em;
    cursor: pointer;
    user-select: none;
}

.fa-newsletter__check-pill input[type="checkbox"] {
    width: 14px;
    height: 14px;
    cursor: pointer;
    accent-color: #1a1a2e;
    flex-shrink: 0;
}

/* Footer */
.fa-newsletter__footer {
    padding-top: 16px;
}

.fa-newsletter__privacy {
    font-size: 0.8em;
    color: #888;
    margin: 0 0 14px;
    line-height: 1.5;
}

.fa-newsletter__submit {
    background: #1a1a2e;
    color: #fff;
    border: none;
    padding: 10px 28px;
    cursor: pointer;
    font-size: 0.95em;
    font-weight: 600;
    display: inline-block;
}

.fa-newsletter__submit:hover { opacity: 0.85; }
.fa-newsletter__submit:disabled { opacity: 0.4; cursor: not-allowed; }

/* Result */
.fa-newsletter__result {
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 0.9em;
    border-left: 3px solid #ccc;
    background: #f8f8f8;
}

.fa-newsletter__result--success {
    border-color: #2e7d32;
    background: #f0faf0;
    color: #1a4d1a;
}

.fa-newsletter__result--error {
    border-color: #c62828;
    background: #fef8f8;
    color: #5a1010;
}

/* Manage page */
.fa-newsletter__actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.fa-newsletter__unsub {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    font-size: 0.85em;
    text-decoration: underline;
    padding: 0;
}

.fa-newsletter__unsub:hover { color: #c62828; }

.fa-nl-notice {
    background: #fff8e1;
    border-left: 3px solid #f59e0b;
    padding: 10px 14px;
    font-size: 0.9em;
}

@media (max-width: 520px) {
    .fa-newsletter__card { padding: 16px; }
    .fa-newsletter__row-double { grid-template-columns: 1fr; }
}



/* ==========================================================================
   Vista lista eventi — layout 3 colonne come featured
   ========================================================================== */

.fa-events-list--simple {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* Ogni item lista: grid 3 colonne identico a fa-featured-list__item */
.fa-events-list--simple .fa-event-list-item {
    display: grid !important;
    grid-template-columns: 90px 1fr auto !important;
    align-items: center;
    gap: 8px 20px;
    padding: 12px 16px;
    border-left: 3px solid rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: transparent;
    margin: 0;
}

.fa-events-list--simple .fa-event-list-item:last-child {
    border-bottom: none;
}

/* Featured quella settimana: bordo sinistro rosso */
.fa-events-list--simple .fa-event-list-item--featured {
    border-left-color: #d12b5d;
}

/* ==========================================================================
   Pagina persona — sidebar layout (come organizzatore)
   ========================================================================== */

.fa-persona-archive__grid {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 1.8fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 32px;
}

.fa-persona-archive__sidebar {
    position: sticky;
    top: 114px;
    align-self: start;
}

.fa-persona-archive__sidebar .fa-persona-archive__section {
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.10);
    background: #fff;
    margin-bottom: 16px;
}

.fa-persona-archive__sidebar .fa-persona-archive__section h2 {
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    margin: 0 0 10px;
    padding: 0;
    border: none;
}

.fa-persona-archive__img {
    display: block;
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    margin-bottom: 0;
    /* override circolare precedente */
    border-radius: 0 !important;
    border: none !important;
    height: auto !important;
}

.fa-persona-archive__main {
    padding-left: 0;
}

.fa-persona-archive__name {
    margin: 0 0 16px;
    font-size: 1.6em;
}

.fa-persona-archive__bio {
    font-size: 1em;
    line-height: 1.7;
    margin-bottom: 16px;
}

.fa-persona-archive__source,
.fa-persona-archive__credit {
    font-size: 0.9em;
    line-height: 1.5;
}

.fa-persona-archive__source a,
.fa-persona-archive__credit a {
    color: inherit;
}

.fa-persona-archive__events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.fa-persona-archive__events-grid--past {
    opacity: 0.75;
}

@media (max-width: 900px) {
    .fa-persona-archive__grid {
        grid-template-columns: 1fr;
    }
    .fa-persona-archive__sidebar {
        position: static;
    }
    .fa-events-list--simple .fa-event-list-item {
        grid-template-columns: 80px 1fr auto !important;
    }
}

@media (max-width: 600px) {
    .fa-events-list--simple .fa-event-list-item {
        grid-template-columns: 1fr auto !important;
    }
    .fa-events-list--simple .fa-featured-list__type {
        display: none;
    }
}

/* ==========================================================================
   Dual-item: mostra card o lista in base alla classe del container
   ========================================================================== */

.fa-event-dual-item {
    display: contents; /* trasparente nel layout */
}

/* Vista card: mostra card, nascondi list */
.fa-events-list--card .fa-event-dual-item__card { display: contents; }
.fa-events-list--card .fa-event-dual-item__list  { display: none; }

/* Vista lista: nascondi card, mostra list */
.fa-events-list--simple .fa-event-dual-item__card { display: none; }
.fa-events-list--simple .fa-event-dual-item__list  { display: contents; }

/* CTA bottone nella sidebar evento */
.fa-single-event__cta {
    margin: 16px 0 8px;
}

.fa-single-event__cta {
    margin-top: 16px;
}

.fa-single-event__cta a {
    display: inline-block;
    padding: 4px 10px;
    background: #d12b5d;
    color: #fff !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.82em;
    border: 1px solid #d12b5d;
}

.fa-single-event__cta a:hover {
    opacity: 0.88;
    color: #fff !important;
}

.fa-ical-link {
    display: block;
    text-align: center;
    font-size: 0.82em;
    color: #666;
    text-decoration: none;
    opacity: 0.75;
    margin-top: 6px;
}

.fa-ical-link:hover {
    opacity: 1;
    color: #1a1a2e;
}

/* Override globale pallini piani mobile — Divi reset */
.fa-plan__card-mobile__features { list-style: none !important; padding-left: 0 !important; }
.fa-plan__card-mobile__features li { list-style: none !important; padding-left: 0 !important; }
.fa-plan__card-mobile__features li::before { content: none !important; display: none !important; }
.fa-plan__card-mobile__features li::marker { font-size: 0 !important; }

/* ==========================================================================
   Load more button
   ========================================================================== */

.fa-loadmore-wrap {
    text-align: center;
    margin-top: 28px;
}

.fa-loadmore-btn {
    padding: 10px 28px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.95em;
    cursor: pointer;
    color: inherit;
}

.fa-loadmore-btn:hover {
    border-color: rgba(0,0,0,0.35);
    background: rgba(0,0,0,0.02);
}

.fa-loadmore-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ==========================================================================
   Organizzatore non attivo — badge sidebar
   ========================================================================== */

.fa-organizer-inactive-badge {
    display: inline-block;
    font-size: 0.78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #b71c1c;
    border: 1px solid rgba(183,28,28,0.25);
    background: rgba(255,235,238,0.6);
    padding: 3px 8px;
    margin-bottom: 10px;
}

/* ==========================================================================
   Risultati ricerca WP — nascondi autore e data
   ========================================================================== */

.search-results .post-meta,
.search-results .entry-meta,
.search-results .et_pb_post .post-meta,
.search-results span.author,
.search-results .posted_on,
.search-results .entry-date,
.search-results p.post-meta {
    display: none !important;
}

/* ==========================================================================
   Contact form [mailform]
   ========================================================================== */

.fa-mailform {
    max-width: 680px;
    display: grid;
    gap: 20px;
}

.fa-mailform__title {
    margin: 0;
}

.fa-mailform__submit {
    min-height: 44px;
    padding: 10px 24px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #1a1a2e;
    color: #fff;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.fa-mailform__submit:hover {
    opacity: 0.88;
}

.fa-mailform__submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* ==========================================================================
   Risultati ricerca
   ========================================================================== */

.fa-search-results {
    padding: 24px 0;
}

.fa-search-results__title {
    margin: 0 0 28px;
    font-size: 1.4em;
}

.fa-search-results__section {
    margin-bottom: 36px;
}

.fa-search-results__section-title {
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.fa-search-results__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 14px;
}

.fa-search-results__item {
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.fa-search-results__item-title {
    font-weight: 600;
    font-size: 1em;
    text-decoration: none;
    color: #1a1a2e;
}

.fa-search-results__item-title:hover {
    color: #d12b5d;
}

.fa-search-results__item-excerpt {
    margin: 4px 0 0;
    font-size: 0.9em;
    opacity: 0.7;
}

/* ==========================================================================
   Banner section — coming soon badge
   ========================================================================== */

.fa-services__card--coming-soon {
    opacity: 0.75;
}

.fa-services__coming-soon-badge {
    display: inline-block;
    font-size: 0.78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    border: 1px solid rgba(0,0,0,0.15);
    background: rgba(0,0,0,0.04);
    padding: 3px 8px;
    margin: 0 0 10px;
}

/* Banner discount badge + plan note */
.fa-services__discount-badge {
    display: inline-block;
    font-size: 0.75em;
    font-weight: 700;
    background: #d12b5d;
    color: #fff;
    padding: 1px 5px;
    margin-left: 5px;
    vertical-align: middle;
}

.fa-services__note {
    font-size: 0.9em;
    color: #b71c1c;
    margin: 0 0 16px;
    padding: 8px 12px;
    background: rgba(183,28,28,0.05);
    border-left: 3px solid rgba(183,28,28,0.3);
}

.fa-services__lock-note {
    font-size: 0.82em;
    color: #888;
    font-style: italic;
}

/* ==========================================================================
   Theme tag picker — contest form
   ========================================================================== */

.fa-theme-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.fa-theme-tag {
    display: inline-block;
    padding: 4px 10px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #f5f5f5;
    font-size: 0.85em;
    cursor: pointer;
    user-select: none;
    transition: background 0.1s, border-color 0.1s;
}

.fa-theme-tag:hover {
    border-color: rgba(0,0,0,0.35);
    background: #eee;
}

.fa-theme-tag--active {
    background: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
}

.fa-theme-tag--proposed {
    border-style: dashed;
    background: #fff8e1;
    color: #5a4a00;
    border-color: #d4a017;
}

.fa-theme-tag--proposed.fa-theme-tag--active {
    background: #fff3c4;
    color: #5a4a00;
    border-color: #c89a00;
}

.fa-btn-secondary {
    padding: 6px 14px;
    border: 1px solid rgba(0,0,0,0.18);
    background: #fff;
    font-size: 0.9em;
    cursor: pointer;
    white-space: nowrap;
}

.fa-btn-secondary:hover {
    background: #f5f5f5;
}

/* Empty state */
.fa-empty-state {
    padding: 16px 0;
    width: 100%;
    box-sizing: border-box;
}
.fa-empty-state__title {
    font-size: 1.1em;
    font-weight: 600;
    margin: 0 0 8px;
    color: #333;
}
.fa-empty-state__text {
    color: #666;
    font-size: 0.95em;
}
.fa-empty-state__text a {
    color: inherit;
    text-decoration: underline;
}


/* ---- FA Banner in event grid ---- */
.fa-banner-fa-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    height: 100%;
    min-height: 250px;
    overflow: hidden;
}

.fa-banner-fa-slot__link {
    display: block;
    line-height: 0;
}

.fa-banner-fa-slot__link img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 300 / 250;
    object-fit: cover;
    border-radius: 4px;
}

/* GAM banner responsive — card view scales to fill column, list view stays 300px */
.fa-banner-fa-slot [id^="fa-gam-card"] {
    width: 100% !important;
    max-width: 300px;
    height: auto !important;
    aspect-ratio: 300 / 250;
    position: relative;
    overflow: hidden;
}

.fa-banner-fa-slot [id^="fa-gam-list"] {
    width: 300px;
    height: 250px;
    position: relative;
    overflow: hidden;
}

.fa-banner-fa-slot [id^="fa-gam-card"] > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: top left;
}

.fa-banner-fa-slot [id^="fa-gam-card"] iframe {
    width: 300px !important;
    height: 250px !important;
    transform-origin: top left;
    transform: scale(var(--fa-gam-scale, 1));
}

.fa-banner-fa-slot [id^="fa-gam-list"] iframe {
    width: 300px !important;
    height: 250px !important;
}

/* Banner in list view — full width, centered */
.fa-events-list--simple .fa-event-dual-item--banner {
    display: block;
    width: 100%;
}

.fa-events-list--simple .fa-event-dual-item--banner .fa-event-dual-item__card {
    display: none;
}

.fa-events-list--simple .fa-event-dual-item--banner .fa-event-dual-item__list {
    display: flex;
    justify-content: center;
    padding: 16px 0;
}

/* Card view: hide list version */
.fa-events-list--card .fa-event-dual-item--banner .fa-event-dual-item__list {
    display: none;
}

/* Organizer sidebar short description — italic like events */
.fa-single-organizer__excerpt {
    font-style: italic;
    color: #555;
    font-size: 0.95em;
    margin: 4px 0 12px;
    line-height: 1.5;
}

/* Organizer logo in list view */
.fa-org-logo-list {
    width: 60px;
    height: 60px;
    object-fit: contain;
    border-radius: 4px;
    display: block;
}

/* Organizer logo inline in event details */
.fa-org-logo-inline {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 4px;
    vertical-align: middle;
}

/* Organizer list item — flex layout with logo, text, button */
.fa-event-simple-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0 12px 12px;
    border-left: 3px solid #e0e0e0;
    margin-bottom: 8px;
    width: 100%;
    box-sizing: border-box;
}

.fa-event-simple-item__main {
    flex: 1;
    min-width: 0;
}

.fa-event-simple-item__title {
    font-size: 1em;
    font-weight: 600;
    margin: 0 0 4px;
}

.fa-event-simple-item__title a {
    text-decoration: none;
    color: inherit;
}

.fa-event-simple-item__meta {
    font-size: 0.85em;
    color: #666;
}

.fa-event-simple-item__actions {
    flex-shrink: 0;
    margin-left: auto;
}

.fa-event-simple-item__actions a {
    color: #d12b5d;
    text-decoration: none;
    font-size: 0.9em;
    white-space: nowrap;
}

/* Organizer list view — thumbnail */
.fa-event-simple-item__thumb {
    flex-shrink: 0;
    margin-right: 12px;
}

.fa-event-simple-item__thumb img {
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain;
    border-radius: 4px;
}

/* Social share buttons */
.fa-share {
    margin-top: 16px;
}
.fa-share__label {
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #aaa;
    margin-bottom: 6px;
}
.fa-share__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.fa-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    background: #e9ecef;
    color: #888;
    transition: background .15s, color .15s;
}
.fa-share__btn span { display: none; }
.fa-share__btn:hover { color: #fff; }
.fa-share__btn--facebook:hover  { background: #1877f2; }
.fa-share__btn--whatsapp:hover  { background: #25d366; }
.fa-share__btn--twitter:hover   { background: #000; }
.fa-share__btn--email:hover     { background: #555; }
.fa-share__btn--copy:hover      { background: #6c757d; }
