/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*=== HOME - Beginning ===*/
.sc-sector-count__icon { margin-right: 0.4rem;}

/* FAQ 
.e-n-accordion-item { box-shadow: 0 0 20px -10px black; border-radius:15px;} */

.facetwp_hero .facetwp-radio { color: #f4f4f4 !important; font-size: 20px;}

@media screen and (max-width: 568px) {
	.facetwp_hero .facetwp-radio { font-size: 18px;}}
/*=== HOME - End ===*/

.glass{ backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);}

.rank-math-breadcrumb a{ padding: 2px 5px; background-color: #36E383; color: #070110; border-radius: 8px;}

/*center the heading and lines*/
.heading-line h2 {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;}
/*add and adjust the lines*/
.heading-line h2:after {
	content: '';
	border-top: 4px solid;
	margin: 0 20px 0 0;
	flex: 1 0 20px;}
/*add spacing between heading and lines*/
.heading-line h2:after {
	margin: 0 0 0 20px;}

/*=== CARDS - Beginning ===*/
.card { min-width:250px; max-height:350px;}

.card_cover { max-height:320px; aspect-ratio: 4/3;}

.card_dataRange { color: #dadada; font-size:14px; font-style: italic;}

.card_cover img { transition: 1s ease-out;}

.card:hover img { transform: scale(1.1);}

.offer_channel-in-store .card_message_online,
.offer_channel-hybrid .offer_channel-online { display: none;}

@media and (max-width: 548px) { .card {max-width: 300px; }}
/*=== CARDS - End ===*/

/*Mensaje para ?loging=*/
.sc-alert{padding:12px 16px;border:1px solid #f1c40f;background:#fff8e1;border-radius:6px;margin:0 0 16px}
.sc-alert a{text-decoration:underline}

/*=== OFFERTE ARCHIVE - Beginning ===*/
.badge {padding:4px 8px; border-radius:6px; font:700 12px/1 sans-serif; color:#fff; z-index:3;}

.badge--scaduta {background:#b91c1c;}

/*Mappa*/
#sc-map{height:600px;overflow:hidden;margin-bottom:1rem;}
@media (max-width: 768px){ #sc-map{height:35rem;} }

/* Cartel "Nessun negozio trovato... */
.sc-map-empty{display: none;}

/* SalvaCash: desactivar sombras de Leaflet para evitar ghosts en reconciliación 
.leaflet-pane .leaflet-marker-shadow { display: none !important; }*/

/* === Clustering == */
/*.sc-cluster { 
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; font-family: ubuntu; border-radius:50%; border: 1px solid #0E400F; background:#fff; color:#0E400F;
  font-weight:700; font-size:12px; box-shadow:0 1px 6px rgba(0,0,0,.25);
}*/

/* Marker tipo "pin" clásico: cabeza redonda con agujero + punta abajo */
.sc-marker-icon {
    position: relative;
    width: 18px;
    height: 18px;
    background-color: #1e7f43;    /* color principal del pin */
    border-radius: 50%;
    box-shadow: 0 0 0 2px #ffffff,
                0 3px 6px rgba(0,0,0,0.25);
    transform: translate(-50%, -50%);
    box-sizing: border-box;}
/* círculo interior “agujero” centrado */
.sc-marker-icon::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    background-color: #ffffff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);}

.sc-cluster {
  display:inline-flex; align-items:center; justify-content:center;
  font: 600 13px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#111; background:#fff; border-radius:50%; border:2px solid #1e7f43; box-shadow:0 2px 10px rgba(0,0,0,.22), 0 0 0 2px rgba(255,255,255,.95) inset; user-select:none; pointer-events:auto; transition: transform .3s ease-out; }
.sc-cluster.small  { width:30px; height:30px; font-size:12px; }
.sc-cluster.medium { width:38px; height:38px; font-size:13px; }
.sc-cluster.large  { width:46px; height:46px; font-size:14px; }

.sc-cluster:hover { transform: translateY(-2px); box-shadow:0 4px 14px rgba(0,0,0,.28), 0 0 0 2px rgba(255,255,255,.95) inset; }

/** PopUp  del mapa **/
#sc-map .leaflet-popup-content-wrapper {
  background: transparent; box-shadow: none; border-radius: 0; padding: 0;}
#sc-map .leaflet-popup-content {margin: 0;}

/* Lista de offerte (máx 5 visibles + scroll) */
/* Contenedor general del popup del mapa */
.sc-popup {
  max-width: 320px;
  padding: 0.75rem 0.85rem;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.18);
  font-family: ubuntu, sans-serif;
  color: #111;}

.sc-popup__offers{ list-style:none; margin:0; padding:0;}

.sc-popup__offer-link {
  display: flex;
  align-items: center;
  color: #111 !important;
  border-radius: 8px;
  padding: 0 5px;
  font-size: 14px;
  cursor: pointer;}

.sc-popup__offer-link::before {
  content: "👉🏻";
  margin-right:10px;
  font-size: .9rem;
  flex-shrink: 0;}

.sc-popup__offer-link:hover {background-color: #36E383;}

/* Header: título, brand, comune */
.sc-popup__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 0.25rem;
  margin-top: 0.6rem;
}

.sc-popup__brand {
  display: inline-block;
  padding: 0.18rem 0.6rem;
  border-radius: 999px;
  background: #1e7f43;
  color: #ffffff;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;}

/* Comune / meta */
.sc-popup__meta {
  display: inline-block;
  padding: 0.18rem 0.6rem;
  border-radius: 999px;
  background: #1e7f43;
  color: #ffffff;	
  font-size: .8rem;}

.sc-popup__actions{
	display:flex;
	padding-top:3px;
	justify-content: center;}

.sc-popup__gmaps {
  display: inline-block;
  text-decoration: none;
  padding: .4rem .6rem;
  border-radius: 8px;
  color: #111 !important;
  border: 2px solid #1e7f43;}

/* Desktop FacetWP filters */
.facet-wrap h3{ font-size:25px; margin-bottom:0px; color: #0E400F; font-family: ALTGOT2N !important;}

.facetwp-dropdown { border-radius: 12px !important; background-color: white; font-family: ubuntu;}

.facetwp-autocomplete, .facetwp-type-fselect { border-radius: 12px !important; font-family: ubuntu; margin-bottom:5px; color: black;}

.facetwp-radio { font-family: ubuntu;}

.facetwp-autocomplete-update { display: none !important;}

.fcomplete-wrap{ z-index:10 !important;}

.facetwp-facet.facetwp-facet-settori.facetwp-type-fselect { border: 1px solid #666; font-family: ubuntu; }

.fs-label-wrap { padding: .35rem; border-radius: 12px; }

.fs-dropdown { border-radius: 12px; padding: 4px; margin-top: 2px; box-shadow: 0 0 20px -5px black; }

.fs-wrap.single{ width: 100%; max-width:100%;}
/*** ARCHIVE - End ***/

/*=== Single OFFER Page - Beginning ===*/
/*Shortcode para fallbacks de tax payment_method & loyalty_programs*/
.offerta-tax{
	font-family: ubuntu;
	font-size: 20px;}

.offer_dataRange{ font-size: 20px; color: #070110;}

/* Containers & tab according to offer_channel-[...] class */
.offer_channel-online #e-n-tab-title-2300007602,
.offer_channel-online .channel-in-store,
.offer_channel-online .channel-hybrid,
.offer_channel-in-store .channel-online,
.offer_channel-in-store .channel-hybrid,
.offer_channel-hybrid .channel-online,
.offer_channel-hybrid .channel-in-store{
	display: none;}

/* Share button */
.sc-share-toggle, .sc-share-item{ cursor:pointer; border:0!important; padding:5px!important;}
.sc-share-menu.is-open .sc-share-dropdown{ display:flex; flex-direction:column; gap:2px; }
.sc-share-dropdown{ display:none; position:absolute; top:50px; right:-10px; border-radius:8px; background: #0E400F; padding: 0 8px; box-shadow: 0 0 20px -5px #070110;}
.sc-share-item{ color:#F4F4F4; font-size:20px;}
.sc-share-toggle i{ color:#f4f4f4; font-size:25px;}
.sc-share-toggle i:hover{color:#36E383;}
.sc-share-menu button:hover{ background:transparent!important;}
.sc-share-menu button:focus { background:transparent!important;}

.single_locations{ width: 100%;}
.single_locations ul{ list-style-type: none; margin: 0; padding: 0;}
.single_locations li{ border-bottom: 1px dotted #070110;}
.single_locations a{ font-family: ubuntu; font-size: 20px; text-decoration: none !important; color: #070110;}
.single_locations li:hover { background-color: #36E383;}

.simplefavorite-button{ font-size: 30px; border: 0; padding: 2px 10px;}
.simplefavorite-button.active{ opacity: 1 !important;}
.simplefavorite-button:hover{ background-color: transparent;}

.single_cover { position: center !important; object-fit: cover; aspect-ratio: 4/2;}

@media screen and (max-width: 568px) {
    .single_locations a, .offer_dataRange, .offerta-tax { font-size: 18px;}
    .simplefavorite-button{ font-size: 22px; padding: 0px 5px;}
    .singleOffer_dataRange { font-size: 16px;}}
/*=== Single OFFER Page - End ===*/

/*=== DASHBOARD commerciante - Beginning ===*/
/* Dashboard list */
.dash_section--list {
  --bg: #fff;
  --bg-alt: #fafafa;
  --text: #1f2937;
  --muted: #6b7280;
  --border: #e5e7eb;
  --primary: #111827;
  --badge: #eef2ff;
  --badge-text: #3730a3;
  --link: #2563eb;
  --link-hover: #1d4ed8;
  color: var(--text);
  font-size: 15px;}

.dash_section--list .list {
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--bg);}

/* Row */
.dash_section--list .list__row {
  display: grid;
  grid-template-columns: 2fr 1.2fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);}
.dash_section--list .list__row:nth-child(even) { background: var(--bg-alt); }
.dash_section--list .list__row:last-child { border-bottom: 0; }

/* Columns */
.dash_section--list .list__col {
  min-width: 0; } /* truncation friendly */

.dash_section--list .list__col--title a {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none; }

.dash_section--list .list__col--title a:hover {
  text-decoration: underline;}

.dash_section--list .list__col--comune {
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.dash_section--list .list__col--stato .badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--badge);
  color: var(--badge-text);
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .2px; }

/* Actions */
.dash_section--list .actions {
  display: flex;
  gap: 10px;
  align-items: center;
  white-space: nowrap;
}
.dash_section--list .actions__link {
  color: var(--link);
  text-decoration: none;
}
.dash_section--list .actions__link:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

/* Hover row */
@media (hover:hover) {
  .dash_section--list .list__row:hover {
    background: #f7f7fb;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .dash_section--list .list__row {
    grid-template-columns: 1.8fr 1fr auto;
  }}

@media (max-width: 680px) {
  .dash_section--list .list__row {
    grid-template-columns: 1fr;
    gap: 6px 0;
    padding: 12px;
  }
  .dash_section--list .list__col--title { order: 1; }
  .dash_section--list .list__col--comune { order: 2; }
  .dash_section--list .list__col--stato  { order: 3; }
  .dash_section--list .list__col--actions{ order: 4; }
  .dash_section--list .actions { justify-content: flex-start; }
}

/* Utilidad opcional: truncar títulos largos */
.dash_section--list .list__col--title a {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* DASHBOARD COMMERCIANTE - Tabs widget */ 
/* --- CONTENIDOS: ocultar todos y mostrar según ?tab=... --- */
/* Reset any "active" visual coming from Elementor */

/*=== DASHBOARD COMMERCIANTE - End ===*/
