
/* --------------------------------------------------------------------------
	* Farmacie
	* -------------------------------------------------------------------------- */

.ln-pharmacy-card {
	border: 1px solid #e7e8e1;
	padding: 30px;
}
.is-premium .ln-pharmacy-card {
	background: #b6e6e8;
	padding: 10px;
}
.ln-pharmacy-today {
	gap: 0 !important;
}
.ln-pharmacy-list  {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ln-pharmacy-list > li {
	margin-bottom: 10px;
}
.ln-pharmacy-name {
	font-weight: 700;
	font-size: 20px;
	line-height: 26px;
}
.ln-pharmacy-name > a {
	text-decoration: none;
}
.ln-pharmacy-name > a:hover {
	text-decoration: underline;
}
.ln-pharmacy-hours {
	display: inline-block;
	font-size: 13px;
	margin-top: 5px;
}
.ln-pharmacy-address {
	color: #151515;
    font-size: 15px;
    font-family: "Open Sans", sans-serif;
}
.ln-pharmacy-footer {
	display: block;
	margin-top: 10px;
}
.ln-pharmacy-footer > div {
	display: inline-block;
}
.ln-pharmacy-footer a {
	display: flex;
	gap: 10px;
	color: #151515;
	font-size: 14px;
} 
.ln-pharmacy-footer a svg {
	color: #61c8d0;
}
.ln-pharmacy-night-inline {
	font-size: 13px;
	line-height: 17px;
	margin: 5px 0;
}
.is-premium .ln-pharmacy-footer a {
	background: #53acb3;
    padding: 3px 5px;
    border-radius: 8px;
    color: #fff;
	text-decoration: none;
} 
.is-premium .ln-pharmacy-footer a svg {
	color: #fff;
}
.ln-pharmacy-banner {
	margin-top: 10px;
}
.ln-pharmacy-banner a {
	display: flex;
}
.ln-pharmacy-see-all {
	display: flex;
    align-items: center;
    justify-self: end;
	text-decoration: none;
	color: #151515;
	font-size: 14px;
}
.ln-pharmacy-see-all svg {
	color: #61c8d0;
	font-size: 18px;
}

/* lista badge */
.ln-pharmacy-services ul,
.ln-pharmacy-extras ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ln-pharmacy-services li,
.ln-pharmacy-extras li {
  list-style: none;
  padding: 6px 10px;
  border: 1px solid #3b7a7f;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  background: #fff;
  white-space: nowrap;
  color: #53acb3;
  display: flex;
  align-items: center;
}

.ln-pharmacy-hours-top {
	display: grid;
    color: #151515;
    font-size: 14px;
    margin-top: 10px;
}
/* wrapper */
.ln-pharmacy-today-slider {
  position: relative;

}

/* track orizzontale */
.ln-pharmacy-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 2px 12px;
}

/* nascondi scrollbar */
.ln-pharmacy-track::-webkit-scrollbar { height: 0; }
.ln-pharmacy-track { scrollbar-width: none; }

/* slide: meno di 100% per mostrare un pezzo della successiva */
.ln-pharmacy-slide {
  scroll-snap-align: start;
  flex: 0 0 88%;
}

@media (min-width: 768px) {
  .ln-pharmacy-slide { flex-basis: 90%; }
}
@media (min-width: 1024px) {
  .ln-pharmacy-slide { flex-basis: 88%; }
}

/* nav buttons */
.ln-pharmacy-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(0,0,0,0.06);
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 2;
}

.ln-pharmacy-nav:hover { background: rgba(0,0,0,0.10); }

.ln-pharmacy-nav.ln-prev { left: -8px; }
.ln-pharmacy-nav.ln-next { right: -8px; }

@media (max-width: 767px) {
  .ln-pharmacy-nav { display: none; } /* su mobile: swipe */
}

/* dots */
.ln-pharmacy-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 8px;
}

.ln-pharmacy-dots .ln-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,0.18);
  cursor: pointer;
}

.ln-pharmacy-dots .ln-dot.is-active {
  background: rgba(0,0,0,0.45);
}

/* servizi/extras compatti */
.ln-pharmacy-services,
.ln-pharmacy-extras {
  margin-top: 10px;
}

.ln-pharmacy-services ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.ln-pharmacy-extras ul {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ln-pharmacy-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.04);
}

.ln-pharmacy-badge .live-icon {
  width: 16px;
  height: 16px;
}
/* SOLO slider "oggi" */
.ln-pharmacy-today-slider .ln-pharmacy-slide,
.ln-pharmacy-today-slider .ln-pharmacy-item{
  height: 100%;
  display: grid;
}

/* la card deve riempire tutta l'altezza del parent */
.ln-pharmacy-today-slider .ln-pharmacy-card{
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* il body prende lo spazio disponibile */
.ln-pharmacy-today-slider .ln-pharmacy-body{
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* il banner resta in fondo (se presente) */
.ln-pharmacy-today-slider .ln-pharmacy-banner{
  margin-top: auto;
}
.ln-pharmacy-today-slider .ln-pharmacy-dots .ln-dot{
  appearance: none;
  -webkit-appearance: none;

  padding: 0 !important;
  border: 0;
  min-width: 0;
  min-height: 0;
  line-height: 0;

  width: 8px;
  height: 8px;
  aspect-ratio: 1 / 1;

  border-radius: 50%;
  box-sizing: border-box;

  display: block;
  flex: 0 0 8px; /* evita che flex li “stiri” */
}
