.elementor-921 .elementor-element.elementor-element-39d59106{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-921 .elementor-element.elementor-element-4862d09d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-921 .elementor-element.elementor-element-7f1fab4e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-search{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search.e-focus{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search .elementor-pagination{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-921 .elementor-element.elementor-element-5c6f654d .e-search-submit{background-color:var( --e-global-color-accent );}.elementor-921 .elementor-element.elementor-element-5c6f654d .e-search-input{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-921 .elementor-element.elementor-element-5c6f654d .e-search-submit span{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-921 .elementor-element.elementor-element-333561a0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-921 .elementor-element.elementor-element-6dfbb9c7{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-921 .elementor-element.elementor-element-6dfbb9c7 .elementor-social-icon{background-color:var( --e-global-color-secondary );}@media(min-width:768px){.elementor-921 .elementor-element.elementor-element-7f1fab4e{--width:50%;}.elementor-921 .elementor-element.elementor-element-333561a0{--width:50%;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════
   FESTIVAL COSPE 2026 — CSS Pagina Location (completo)
   Incolla nel CSS personalizzato della pagina Location in Elementor
   ═══════════════════════════════════════════════════════════════ */

/* ── Variabili palette ── */
:root {
  --fest-teal-dark:  #006677;
  --fest-teal-light: #009AA3;
  --fest-gold:       #FFAA11;
  --fest-text:       #222222;
  --fest-text-muted: #7A7A7A;
  --fest-bg:         #ffffff;
  --fest-surface:    #f5f5f5;
  --fest-border:     rgba(0,102,119,0.15);
  --font-display:    "citrus-gothic-rough", "Anton", "Impact", sans-serif;
  --font-body:       "EasyReadingPRO", "Georgia", serif;
}

/* ── Mappa ── */
.loc-mappa-wrap {
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid var(--fest-teal-dark);
  margin-bottom: 2.5rem;
}

#loc-map {
  height: 380px;
  width: 100%;
}

/* ── Marker personalizzato ── */
.loc-marker__dot {
  width: 16px;
  height: 16px;
  background: var(--fest-teal-dark);
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* ── Popup mappa ── */
.leaflet-popup-content-wrapper {
  border-radius: 8px;
  border: 1px solid var(--fest-border);
  box-shadow: 0 4px 16px rgba(0,102,119,0.12);
  font-family: var(--font-body);
}

.leaflet-popup-content { margin: 0.75rem 1rem; }

.loc-popup strong {
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fest-teal-dark);
  display: block;
  margin-bottom: 0.2rem;
}

.loc-popup span {
  font-size: 0.78rem;
  color: var(--fest-text-muted);
  font-family: var(--font-body);
}

.loc-popup small {
  font-size: 0.72rem;
  color: var(--fest-text-muted);
  font-family: var(--font-body);
  display: block;
  margin-top: 0.2rem;
}

.loc-popup a {
  color: var(--fest-teal-dark);
  font-size: 0.78rem;
  font-family: var(--font-body);
  text-decoration: none;
  display: inline-block;
  margin-top: 0.4rem;
}

.loc-popup a:hover { text-decoration: underline; }

/* ── Griglia card ── */
.loc-griglia {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

/* ── Singola card ── */
.loc-card {
  border: 2px solid var(--fest-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--fest-bg);
  transition: box-shadow 200ms ease, border-color 200ms ease;
}

.loc-card:hover {
  border-color: var(--fest-teal-light);
  box-shadow: 0 4px 16px rgba(0,102,119,0.1);
}

.loc-card--highlight {
  border-color: var(--fest-gold) !important;
  box-shadow: 0 0 0 3px rgba(255,170,17,0.25) !important;
}

/* ── Immagine card ── */
.loc-card__img-wrap {
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: var(--fest-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 2rem;
}

.loc-card__img {
  max-width: 70%;      /* logo mai più largo del 70% del contenitore */
  max-height: 100px;   /* altezza massima uniforme */
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  transition: transform 300ms ease;
}

.loc-card:hover .loc-card__img {
  transform: scale(1.05);
}

/* ── Body card ── */
.loc-card__body {
  padding: 1.1rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* ── Badge città ── */
.loc-card__citta-badge {
  display: inline-block;
  background: var(--fest-teal-dark);
  color: #fff;
  font-family: var(--font-display);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.15rem 0.65rem;
  border-radius: 9999px;
  align-self: flex-start;
}

/* ── Nome location ── */
.loc-card__nome {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fest-teal-dark);
  margin: 0;
  line-height: 1.2;
}

/* ── Indirizzo ── */
.loc-card__indirizzo {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: var(--fest-text-muted);
  margin: 0;
}

.loc-card__indirizzo svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--fest-teal-light);
}

/* ── Come arrivare ── */
.loc-card__arrivare-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: 1.5px solid var(--fest-teal-dark);
  color: var(--fest-teal-dark);
  font-family: var(--font-display);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3rem 0.85rem;
  border-radius: 9999px;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
  align-self: flex-start;
}

.loc-card__arrivare-toggle:hover {
  background: var(--fest-teal-dark);
  color: #fff;
}

.loc-card__arrivare-testo {
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: var(--fest-text);
  line-height: 1.6;
  border-left: 3px solid var(--fest-teal-light);
  padding-left: 0.75rem;
  margin-top: 0.25rem;
}

/* ── Link Maps ── */
.loc-card__maps-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-display);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fest-teal-dark);
  text-decoration: none;
  border-bottom: 1.5px solid transparent;
  transition: border-color 150ms ease;
  align-self: flex-start;
  margin-top: 0.1rem;
}

.loc-card__maps-link:hover {
  border-bottom-color: var(--fest-teal-dark);
  color: var(--fest-teal-dark);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  #loc-map        { height: 260px; }
  .loc-griglia    { grid-template-columns: 1fr; }
  .loc-mappa-wrap { margin-bottom: 1.5rem; }
}/* End custom CSS */