/* Lovable post-migration overrides loaded after the original Delvia styles. */

.whatsapp-floating-button {
  position: fixed !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 9999px !important;
  background-color: #25d366 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.whatsapp-floating-button:hover {
  transform: scale(1.08);
  color: #ffffff !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28) !important;
}

.whatsapp-floating-button:focus-visible {
  outline: 2px solid #25d366;
  outline-offset: 3px;
}

.whatsapp-floating-button svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* ---------------------------------------------------------------------------
   Homepage product carousel (DelviaTek line + offers).
--------------------------------------------------------------------------- */
.home-carousel {
  position: relative;
}

.home-carousel__track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: none;
}

.home-carousel__track::-webkit-scrollbar {
  display: none;
}

.home-carousel__track > * {
  flex: 0 0 85%;
  max-width: 85%;
  scroll-snap-align: start;
}

@media (min-width: 768px) {
  .home-carousel__track > * {
    flex-basis: calc((100% - 24px) / 2);
    max-width: calc((100% - 24px) / 2);
  }
}

@media (min-width: 1200px) {
  .home-carousel__track > * {
    flex-basis: calc((100% - 72px) / 4);
    max-width: calc((100% - 72px) / 4);
  }
}

.home-carousel__nav {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

.home-carousel__btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
  color: #101828;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.25s ease;
}

.home-carousel__btn:hover:not(:disabled) {
  background: #28e3ee;
  color: #fff;
  border-color: #28e3ee;
}

.home-carousel__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

/* ---------------------------------------------------------------------------
   Product detail pages: list indentation, price block and image framing.
--------------------------------------------------------------------------- */
.product__details-additional-info .row > [class*="col-"] {
  padding-left: 24px;
  padding-right: 24px;
}

.product__details-des ul,
.product__details-des ol,
.product__details-content ul,
.product__details-content ol,
.product__details-additional-info ul,
.product__details-additional-info ol {
  padding-left: 32px;
  margin-bottom: 16px;
}

.product__details-des ul,
.product__details-content ul,
.product__details-additional-info ul {
  list-style: disc outside;
}

.product__details-des ol,
.product__details-content ol,
.product__details-additional-info ol {
  list-style: decimal outside;
}

.product__details-des li,
.product__details-content li,
.product__details-additional-info li {
  display: list-item;
  margin-bottom: 6px;
}

.product__details-des ul ul,
.product__details-content ul ul,
.product__details-additional-info ul ul {
  list-style: circle outside;
  margin-top: 6px;
  margin-bottom: 0;
}

.product__details-des .features__list2 ul,
.product__details-additional-info .features__list2 ul {
  padding-left: 0;
  list-style: none;
}

.product__details-des .features__list2 ul li,
.product__details-additional-info .features__list2 ul li {
  position: relative;
  padding-left: 22px;
}

.product__details-des .features__list2 ul li > i:first-child,
.product__details-additional-info .features__list2 ul li > i:first-child {
  position: absolute;
  left: 0;
  top: 0.35em;
}

/* Price block (lead-generation catalogue: informational only, never a cart). */
.product__details-price {
  margin-top: 12px;
  margin-bottom: 20px;
}

.product__details-price-main {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.product__details-price-current {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: #101828;
}

.product__details-price-old {
  font-size: 18px;
  color: rgba(16, 24, 40, 0.55);
  text-decoration: line-through;
}

.product__details-price-variants {
  list-style: none;
  padding-left: 0;
  margin: 14px 0 0;
  max-width: 420px;
}

.product__details-price-variants li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(16, 24, 40, 0.12);
  font-size: 15px;
}

.product__details-price-variants .variant-price {
  font-weight: 600;
  white-space: nowrap;
}

.product__details-price-variants .variant-price del {
  font-weight: 400;
  margin-right: 8px;
  color: rgba(16, 24, 40, 0.55);
}

/* Keep migrated section imagery inside its column and fully visible. */
.product__details-additional-info img,
.product__details-additional-info .img-descriere,
.product__details-additional-info .img-shadow {
  max-width: 100%;
  height: auto;
  max-height: 460px;
  width: auto;
  object-fit: contain;
  margin-inline: auto;
  display: block;
  border-radius: 8px;
}

/* Gallery thumbnails: keep them in a tidy row instead of overlapping. */
.product__details-thumb-tab,
.product__details-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.product__details-thumb-tab img,
.product__details-nav img {
  width: 84px;
  height: 84px;
  object-fit: contain;
}
