/* ------ EM x Blocksy color mapping ------ */

/* Contenitori evento/lista */
.em.pixelbones .em-item,
.em.pixelbones .em-card,
.em.pixelbones .em-event,
.em.pixelbones .em-list,
.em.pixelbones .em-search-advanced,
.em.pixelbones .em-bookings-form {
    background: var(--theme-palette-color-8) !important;
    border: 1px solid var(--theme-palette-color-5) !important;
    color: var(--theme-palette-color-4) !important;
}

/* Titoli evento */
.em.pixelbones .em-item-title a,
.em.pixelbones .em-event-title a,
.em.pixelbones .em-card-title a {
    color: var(--theme-palette-color-4) !important;
    text-decoration: none;
}

.em.pixelbones .em-item-title a:hover,
.em.pixelbones .em-event-title a:hover,
.em.pixelbones .em-card-title a:hover {
    color: var(--theme-palette-color-1) !important;
}

/* Testi/metadati */
.em.pixelbones .em-meta,
.em.pixelbones .em-time,
.em.pixelbones .em-location,
.em.pixelbones .em-categories a {
    color: var(--theme-palette-color-3) !important;
}

.em.pixelbones .em-categories a:hover {
    color: var(--theme-palette-color-1) !important;
}

/* Link generici dentro EM */
.em.pixelbones a {
    color: var(--theme-palette-color-1) !important;
}

.em.pixelbones a:hover,
.em.pixelbones a:focus {
    color: var(--theme-palette-color-2) !important;
}

/* Bottoni (prenota, next/prev, filtri) */
.em.pixelbones .button,
.em.pixelbones .em-button,
.em.pixelbones .em-booking-submit,
.em.pixelbones button,
.em.pixelbones input[type=submit],
.em.pixelbones .wp-block-button__link {
    background: var(--theme-palette-color-1) !important;
    border-color: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-8) !important;
}

.em.pixelbones .button:hover,
.em.pixelbones .em-button:hover,
.em.pixelbones .em-booking-submit:hover,
.em.pixelbones button:hover,
.em.pixelbones input[type=submit]:hover,
.em.pixelbones .wp-block-button__link:hover {
    background: var(--theme-palette-color-2) !important;
    border-color: var(--theme-palette-color-2) !important;
    color: var(--theme-palette-color-8) !important;
}

/* Badge/etichette (categorie, status) */
.em.pixelbones .em-badge,
.em.pixelbones .em-tag,
.em.pixelbones .em-status {
    background: var(--theme-palette-color-6) !important;
    color: var(--theme-palette-color-4) !important;
    border: 1px solid var(--theme-palette-color-5) !important;
}

.em.pixelbones .em-badge.is-primary,
.em.pixelbones .em-status--open {
    background: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-8) !important;
    border-color: var(--theme-palette-color-1) !important;
}

/* Campi form (ricerca/prenotazioni) */
.em.pixelbones input[type=text],
.em.pixelbones input[type=email],
.em.pixelbones input[type=tel],
.em.pixelbones input[type=number],
.em.pixelbones select,
.em.pixelbones textarea {
    background: var(--theme-palette-color-8) !important;
    color: var(--theme-palette-color-4) !important;
    border: 1px solid var(--theme-palette-color-5) !important;
}

.em.pixelbones input:focus,
.em.pixelbones select:focus,
.em.pixelbones textarea:focus {
    outline: none !important;
    border-color: var(--theme-palette-color-1) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-palette-color-1) 25%, transparent) !important;
}

/* Alert / messaggi sistema */
.em.pixelbones .em-notice,
.em.pixelbones .em-warning,
.em.pixelbones .em-error,
.em.pixelbones .em-success {
    border: 1px solid var(--theme-palette-color-5) !important;
    background: var(--theme-palette-color-7) !important;
    color: var(--theme-palette-color-4) !important;
}

.em.pixelbones .em-success {
    border-color: var(--theme-palette-color-1) !important;
}

/* Calendario (se usi il widget o shortcodes) */
.em.pixelbones .em-calendar td,
.em.pixelbones .em-calendar th {
    border-color: var(--theme-palette-color-5) !important;
}

.em.pixelbones .em-calendar a.em-calnav {
    color: var(--theme-palette-color-1) !important;
}

.em.pixelbones .em-calendar .eventful a,
.em.pixelbones .em-calendar .eventful-today a {
    background: var(--theme-palette-color-6) !important;
    color: var(--theme-palette-color-4) !important;
}

.em.pixelbones .em-calendar .eventful a:hover,
.em.pixelbones .em-calendar .eventful-today a:hover {
    background: var(--theme-palette-color-2) !important;
    color: var(--theme-palette-color-8) !important;
}

/* Link personalizzati tuoi */
.em.pixelbones .bridge-registration-link,
.em.pixelbones .bridge-cats a {
    background: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-8) !important;
    border: 2px solid var(--theme-palette-color-8) !important;
    border-radius: 3px !important;
    font-weight: 500;
}

.em.pixelbones .bridge-registration-link:hover,
.em.pixelbones .bridge-cats a:hover {
    background: var(--theme-palette-color-8) !important;
    color: var(--theme-palette-color-4) !important;
    border: 2px solid var(--theme-palette-color-1) !important;
    border-radius: 3px !important;
}

/* font */
.em.pixelbones h2 {
  font-size: 1.875rem !important;
}

.em.pixelbones h3 {
  font-size: 1.625rem !important;
}

.em.pixelbones h4 {
  font-size: 1.25rem !important;
}

.em.pixelbones h2, .em.pixelbones h3, .em.pixelbones h4 {
  font-weight: 600 !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

/* === Events Manager (Pixelbones) - Pulsante Prenota allineato a Blocksy === */
/* BASE */
.em.pixelbones .button.input:not([data-nostyle]),
.em.pixelbones button.input:not([data-nostyle]),
.em.pixelbones input[type=submit].input:not([data-nostyle]),
.em.pixelbones input[type=reset].input:not([data-nostyle]),
.em.pixelbones input[type=button].input:not([data-nostyle]),
.em.pixelbones.input .button:not([data-nostyle]),
.em.pixelbones.input button:not([data-nostyle]),
.em.pixelbones.input input[type=submit]:not([data-nostyle]),
.em.pixelbones.input input[type=reset]:not([data-nostyle]),
.em.pixelbones.input input[type=button]:not([data-nostyle]),
.em.pixelbones .input button:not([data-nostyle]),
.em.pixelbones .input input[type=submit]:not([data-nostyle]),
.em.pixelbones .input input[type=reset]:not([data-nostyle]),
.em.pixelbones .input input[type=button]:not([data-nostyle]), a.button {
    display: block !important;
    line-height: 38px !important;
    width: 200px;
    padding: 5px 15px !important;
	background: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	outline: none;
	border: 2px solid var(--theme-palette-color-1) !important;
	font-size: 16px !important;
	border-radius: 3px !important;
	font-weight: 500;
	margin: 10px 0 !important;
	cursor: pointer;
}

/* HOVER/FOCUS */
.em.pixelbones .button.input:not([data-nostyle]):hover,
.em.pixelbones button.input:not([data-nostyle]):hover,
.em.pixelbones input[type=submit].input:not([data-nostyle]):hover,
.em.pixelbones input[type=button].input:not([data-nostyle]):hover,
.em.pixelbones.input .button:not([data-nostyle]):hover,
.em.pixelbones.input button:not([data-nostyle]):hover,
.em.pixelbones.input input[type=submit]:not([data-nostyle]):hover,
.em.pixelbones .input button:not([data-nostyle]):hover,
.em.pixelbones .input input[type=submit]:not([data-nostyle]):hover,
.em.pixelbones .button.input:not([data-nostyle]):focus,
.em.pixelbones button.input:not([data-nostyle]):focus,
.em.pixelbones input[type=submit].input:not([data-nostyle]):focus,
.em.pixelbones .input button:not([data-nostyle]):focus,
.em.pixelbones .input input[type=submit]:not([data-nostyle]):focus {
    background: var(--theme-palette-color-8) !important;
    border-color: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-4) !important;
    outline: none !important;
}

/* DISABLED / LOADING */
.em.pixelbones .button[disabled],
.em.pixelbones button[disabled],
.em.pixelbones input[type=submit][disabled],
.em.pixelbones .button.disabled,
.em.pixelbones button.disabled,
.em.pixelbones input[type=submit].disabled {
    background: var(--theme-palette-color-5) !important;
    border-color: var(--theme-palette-color-5) !important;
    color: var(--theme-palette-color-3) !important;
    cursor: not-allowed !important;
    opacity: 0.9 !important;
}

/* Varianti (se EM aggiunge classi tipo .em-booking-submit, .em-button) */
.em.pixelbones .em-button,
.em.pixelbones .em-booking-submit {
    background: var(--theme-palette-color-1) !important;
    border-color: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-8) !important;
}

.em.pixelbones .em-button:hover,
.em.pixelbones .em-booking-submit:hover {
    background: var(--theme-palette-color-2) !important;
    border-color: var(--theme-palette-color-2) !important;
}

.em.pixelbones .input input[type=checkbox], .em.pixelbones .input input[type=radio], .em.pixelbones.input input[type=checkbox], .em.pixelbones.input input[type=radio] {
	border-color: var(--theme-palette-color-5) !important;
}

/*****************/
/* Bottoni EM: forza bg/border/text */
body a.em-event-link,
body .em-booking-buttons .button,
body .em-booking-buttons input[type="submit"],
/* Tuo pulsante prenota */
body .bridge-registration-link {
    background: var(--theme-palette-color-1) !important;
    border-color: var(--theme-palette-color-1) !important;
    color: var(--theme-palette-color-8) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body a.em-event-link:hover,
body .em-booking-buttons .button:hover,
body .em-booking-buttons input[type="submit"]:hover,
body .bridge-registration-link:hover {
    background: var(--theme-palette-color-2) !important;
    border-color: var(--theme-palette-color-2) !important;
    color: var(--theme-palette-color-8) !important;
}

/* anche eventuali figli dentro al link/bottone */
body a.em-event-link *,
body .bridge-registration-link * {
    color: var(--theme-palette-color-8) !important;
}

/* Categorie */
body .bridge-cats a,
body .bridge-cats span {
    background: var(--theme-palette-color-7) !important;
    border: 1px solid var(--theme-palette-color-5) !important;
    color: var(--theme-palette-color-4) !important;
}

body .bridge-cats a:hover {
    background: var(--theme-palette-color-6) !important;
}

@media (max-width: 680px) {
/* font */
.em.pixelbones h2 {
  font-size: 1.625rem !important;
}

.em.pixelbones h3, .em.em-item.em-item-single .em-item-meta h3 {
  font-size: 1.25rem !important;
}

.em.pixelbones h4 {
  font-size: 1.125rem !important;
}
}