/* =========================================================================
   F1 Content — Punti vendita + mappa
   Usa i token del tema (var --f1-*) con fallback per sicurezza.
   ========================================================================= */
.f1-punti{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
	gap:24px;
}
.f1-punto{
	display:flex;flex-direction:column;background:#fff;
	border:1px solid var(--f1-line,#e5e1d7);border-radius:var(--f1-radius-lg,22px);overflow:hidden;
	transition:transform .35s var(--f1-ease,ease),box-shadow .35s var(--f1-ease,ease),border-color .35s var(--f1-ease,ease);
}
.f1-punto:hover{transform:translateY(-6px);box-shadow:var(--f1-shadow-lg,0 26px 60px rgba(10,58,69,.16));border-color:transparent;}

.f1-punto__img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--f1-mist,#e9f4f5);}
.f1-punto__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--f1-ease,ease);}
.f1-punto:hover .f1-punto__img img{transform:scale(1.06);}
/* Segnaposto quando manca la foto */
.f1-punto__img--empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--f1-mist,#e9f4f5),#fff);}
.f1-punto__img--empty svg{width:52px;height:52px;color:var(--f1-secondary,#2fb0c0);opacity:.65;}

.f1-punto__badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;}
.f1-badge{
	font-family:var(--f1-body,sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
	padding:5px 10px;border-radius:999px;color:#fff;backdrop-filter:blur(2px);box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.f1-badge--24{background:var(--f1-secondary-600,#1e93a3);}
.f1-badge--stag{background:var(--f1-yellow,#FFED00);color:var(--f1-primary,#123A63);}

.f1-punto__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.f1-punto__name{font-family:var(--f1-body,sans-serif);font-weight:700;margin:0;font-size:20px;color:var(--f1-primary,#123A63);line-height:1.25;letter-spacing:-.01em;}
.f1-punto__addr{margin:0;color:var(--f1-muted,#566b71);font-size:14.5px;line-height:1.5;display:flex;gap:8px;align-items:flex-start;}
.f1-punto__addr svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--f1-secondary-600,#1e93a3);}

.f1-punto__hours{list-style:none;margin:0;padding:14px 0;border-top:1px solid var(--f1-line-cool,#CFE4F1);border-bottom:1px solid var(--f1-line-cool,#CFE4F1);font-size:14px;color:var(--f1-ink,#1c1c1c);display:grid;gap:5px;}
.f1-punto__hours li{display:flex;gap:10px;justify-content:space-between;}
.f1-punto__hours li span{color:var(--f1-muted,#566b71);}
.f1-punto__hours li b{font-weight:600;text-align:right;}
.f1-punto__note{color:var(--f1-accent-600,#d9641c)!important;font-weight:600;justify-content:flex-start!important;font-size:13px;}

.f1-punto__actions{margin-top:auto;display:flex;gap:10px;padding-top:4px;}
.f1-punto__tel,.f1-punto__dir{
	flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;
	text-decoration:none;font-weight:600;font-size:14.5px;padding:11px 12px;border-radius:12px;min-height:46px;
	transition:transform .2s var(--f1-ease,ease),background .2s var(--f1-ease,ease),color .2s var(--f1-ease,ease);
}
.f1-punto__tel svg,.f1-punto__dir svg{width:16px;height:16px;}
.f1-punto__tel{background:var(--f1-yellow,#FFED00);color:var(--f1-primary,#123A63);}
.f1-punto__tel:hover{background:var(--f1-yellow-deep,#E8B200);color:var(--f1-primary,#123A63);box-shadow:0 8px 20px rgba(10,58,69,.16);transform:translateY(-2px);}
.f1-punto__dir{border:1.5px solid var(--f1-primary,#123A63);color:var(--f1-primary,#123A63);}
.f1-punto__dir svg{color:var(--f1-secondary-600,#2E9BD1);}
.f1-punto__dir:hover{background:var(--f1-primary,#123A63);color:#fff;transform:translateY(-2px);}
.f1-punto__dir:hover svg{color:var(--f1-secondary,#63BFEA);}

/* Mappa */
.f1-map{width:100%;border-radius:var(--f1-radius-lg,22px);overflow:hidden;z-index:0;background:#e9f4f5;}
.f1-map .leaflet-container{font-family:var(--f1-body,sans-serif);}
.f1-map .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 12px 30px rgba(10,58,69,.18);}
.f1-map .leaflet-popup-content{margin:16px 18px;font-size:14px;line-height:1.5;}
.f1-pop__name{font-family:var(--f1-display,serif);font-weight:600;color:var(--f1-primary,#0e4c5a);font-size:16px;display:block;margin-bottom:5px;}
.f1-pop__dir{display:inline-block;margin-top:8px;font-weight:600;color:var(--f1-accent-600,#d9641c);text-decoration:none;}
.f1-pop__dir:hover{text-decoration:underline;}
.f1-map .leaflet-bar a{color:var(--f1-primary,#0e4c5a);}

@media (max-width:560px){
	.f1-punti{grid-template-columns:1fr;}
}
