/**
 * Albi Mall — homepage landing layout fixes (spacing, full-bleed, contrast).
 * Loaded after home-cinematic.css.
 */

:root {
  --albi-home-gutter: var(--albi-site-gutter, clamp(1.25rem, 4vw, 2.5rem));
  --albi-home-max: var(--albi-site-max, 1360px);
  /* Inner content column (matches .albi-gastro-home); section BGs stay full-bleed */
  --albi-home-section-max: 1200px;
  --albi-hero-radius: clamp(14px, 1.6vw, 28px);
}

/* Homepage header: keep solid bar + normal document flow (space for content below) */
body.home header.elementor-location-header {
  position: relative;
  z-index: 200;
  width: 100%;
  background: #fff;
}

body.home header.elementor-location-header .albi-site-header__bar {
  background: var(--albi-site-header-bar-bg, #fff) !important;
  border-bottom: 1px solid #ebebeb;
}

body.home .albi-site-header-widget--sticky {
  min-height: auto;
}

/* —— Contained rounded hero (~16:9), NOT full-bleed —— */
.elementor-widget-albi_home_hero {
  position: relative;
  width: min(100%, var(--albi-home-max));
  max-width: var(--albi-home-max);
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
  padding-inline: var(--albi-home-gutter);
  box-sizing: border-box;
}

body.home .elementor-widget-albi_home_hero {
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
}

.elementor-widget-albi_home_hero .elementor-widget-container {
  padding: 0 !important;
  width: 100%;
  max-width: 100% !important;
  box-sizing: border-box;
}

.elementor-widget-albi_home_hero .albi-home-hero-slider {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--albi-hero-radius, 20px) !important;
  overflow: hidden;
  background: transparent;
}

.elementor-widget-albi_home_hero .albi-home-hero-swiper {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: inherit !important;
  overflow: hidden;
}

.elementor-widget-albi_home_hero .albi-home-hero-slider .swiper-wrapper,
.elementor-widget-albi_home_hero .albi-home-hero-slider .swiper-slide {
  height: 100% !important;
  min-height: 0 !important;
}

.elementor-widget-albi_home_hero .albi-home-hero--bg-full,
.elementor-widget-albi_home_hero .albi-home-hero--bg-boxed {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: inherit !important;
  overflow: hidden;
}

.elementor-widget-albi_home_hero .albi-home-hero__bg,
.elementor-widget-albi_home_hero .albi-home-hero__video,
.elementor-widget-albi_home_hero .albi-home-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit;
}

.elementor-widget-albi_home_hero .albi-home-hero__bg {
  background-size: cover !important;
  background-position: center center !important;
}

/* Fill frame even when ken-burns / Swiper fight inline video styles */
.elementor-widget-albi_home_hero .albi-home-hero__video-el {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: auto !important;
  height: auto !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Content inset (padding) is owned by Elementor: Style → Mbushja e përmbajtjes */
.elementor-widget-albi_home_hero .albi-home-hero__shell {
  width: 100%;
  max-width: var(--albi-home-max);
  height: 100%;
  margin-inline: auto;
  box-sizing: border-box;
  display: flex;
}

.elementor-widget-albi_home_hero .albi-home-hero__inner {
  max-width: min(620px, 100%);
  gap: clamp(0.65rem, 1.6vw, 1rem);
}

.elementor-widget-albi_home_hero .albi-home-hero__search {
  width: 100%;
  max-width: min(680px, 100%);
  margin-top: clamp(1rem, 3vw, 2rem);
}

.elementor-widget-albi_home_hero .albi-home-hero__search .albi-global-search__field {
  width: 100%;
  box-sizing: border-box;
}

/* No scroll-blur on hero content */
.elementor-widget-albi_home_hero .albi-home-hero__inner.albi-cinematic-build {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Don't rise/stagger the hero media frame (leaves empty band at top) */
.elementor-widget-albi_home_hero.albi-scroll-anim,
.elementor-widget-albi_home_hero.albi-scroll-anim--stagger:not(.albi-scroll-anim--delegated) > *,
.elementor-widget-albi_home_hero.albi-scroll-anim--stagger:not(.albi-scroll-anim--delegated).is-inview > * {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* —— Shared section rhythm —— */
.elementor-widget-albi_split_feature .elementor-widget-container,
.elementor-widget-albi_offers_events .elementor-widget-container,
.elementor-widget-albi_news_grid .elementor-widget-container {
  max-width: var(--albi-home-max);
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}

.elementor-widget-albi_split_feature.albi-cinematic-section,
.elementor-widget-albi_offers_events.albi-cinematic-section,
.elementor-widget-albi_news_grid.albi-cinematic-section {
  padding-block: clamp(3rem, 8vw, 5.5rem);
}

.elementor-widget-albi_split_feature.albi-cinematic-section {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: var(--albi-home-gutter);
  box-sizing: border-box;
}

/* —— Split feature spacing —— */
.elementor-widget-albi_split_feature .albi-split-feature__content {
  padding: 0 !important;
}

/* —— Split feature dark tone —— */
.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__card {
  background: color-mix(in srgb, var(--albi-text-color, #212121) 94%, #000) !important;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__eyebrow,
.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__title,
.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__intro,
.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__tagline {
  color: #fff;
}

.elementor-widget-albi_split_feature .albi-split-feature--tone-dark .albi-split-feature__btn {
  border-color: #fff !important;
  color: #fff !important;
}

/* —— Brands light band (fits Elementor centered column) —— */
.elementor-widget-albi_brands_showcase,
.elementor-widget-albi_brands_showcase.albi-cinematic-section {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding: clamp(3rem, 8vw, 5rem) var(--albi-home-gutter);
  box-sizing: border-box;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--albi-text-color, #212121);
}

.elementor-widget-albi_brands_showcase .albi-brands {
  width: 100%;
  max-width: var(--albi-home-section-max);
  margin-inline: auto;
  box-sizing: border-box;
  /* Larger landing marks; !important beats Elementor-saved 140px card size */
  --albi-brand-card-size: 190px !important;
  --albi-brand-logo-max-w: calc(var(--albi-brand-card-size, 190px) * 0.92) !important;
  --albi-brand-logo-max-h: calc(var(--albi-brand-card-size, 190px) * 0.88) !important;
}

.elementor-widget-albi_brands_showcase .albi-hw__title,
.elementor-widget-albi_brands_showcase .albi-hw__eyebrow,
.elementor-widget-albi_brands_showcase .albi-hw__subtitle {
  color: var(--albi-text-color, #212121) !important;
}

.elementor-widget-albi_brands_showcase .albi-parallax-type__bg {
  display: none !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__top {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0;
  margin-bottom: clamp(0.85rem, 2vw, 1.35rem);
}

.elementor-widget-albi_brands_showcase .albi-brands__top .albi-hw__header {
  flex: 0 1 auto;
  width: 100%;
  max-width: min(100%, 56rem);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.elementor-widget-albi_brands_showcase .albi-hw__title {
  width: 100%;
  max-width: 100% !important;
  margin-inline: auto;
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .elementor-widget-albi_brands_showcase .albi-hw__title {
    width: max-content;
    white-space: nowrap;
  }
}

.elementor-widget-albi_brands_showcase .albi-brands__track {
  margin-top: clamp(0.35rem, 1.2vw, 0.75rem);
  margin-bottom: clamp(0.85rem, 2vw, 1.5rem);
  overflow: hidden !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin: 0;
}

.elementor-widget-albi_brands_showcase .albi-brands__toolbar-start,
.elementor-widget-albi_brands_showcase .albi-brands__toolbar-end {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
}

.elementor-widget-albi_brands_showcase .albi-brands__toolbar-start {
  justify-content: flex-start;
  flex: 1 1 auto;
}

.elementor-widget-albi_brands_showcase .albi-brands__toolbar-end {
  justify-content: flex-end;
  flex: 0 0 auto;
  margin-left: auto;
}

.elementor-widget-albi_brands_showcase .albi-brands__nav {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.elementor-widget-albi_brands_showcase .albi-brands__nav .swiper-button-prev,
.elementor-widget-albi_brands_showcase .albi-brands__nav .swiper-button-next {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  flex: 0 0 2.5rem !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  min-width: 2.5rem !important;
  min-height: 2.5rem !important;
  max-width: 2.5rem !important;
  max-height: 2.5rem !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  border: 1px solid color-mix(in srgb, #111 28%, transparent);
  background: #fff;
  color: #111;
  --swiper-navigation-size: 2.5rem;
  transform: none !important;
  overflow: hidden;
}

.elementor-widget-albi_brands_showcase .albi-brands__nav .swiper-button-prev::after,
.elementor-widget-albi_brands_showcase .albi-brands__nav .swiper-button-next::after {
  font-size: 0.75rem !important;
  font-weight: 700;
  line-height: 1 !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__cta,
.elementor-widget-albi_brands_showcase a.albi-brands__cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.85rem 1.85rem !important;
  min-width: 11.5rem;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  background: var(--albi-primary-color, #ed1c24) !important;
  border: 1px solid var(--albi-primary-color, #ed1c24) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(237, 28, 36, 0.28);
}

.elementor-widget-albi_brands_showcase .albi-brands__cta:hover,
.elementor-widget-albi_brands_showcase a.albi-brands__cta:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  .elementor-widget-albi_brands_showcase .albi-hw__title {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
    font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important;
    line-height: 1.15 !important;
  }

  .elementor-widget-albi_brands_showcase .albi-brands__toolbar {
    flex-wrap: wrap;
  }

  .elementor-widget-albi_brands_showcase .albi-brands__cta,
  .elementor-widget-albi_brands_showcase a.albi-brands__cta {
    width: auto;
    min-width: 0;
    padding: 0.75rem 1.25rem !important;
  }
}

.elementor-widget-albi_brands_showcase .albi-brands__card-inner {
  min-height: var(--albi-brand-card-size, 190px);
  height: 100%;
  background: transparent !important;
  overflow: visible !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__card,
.elementor-widget-albi_brands_showcase .albi-brands__marquee-item .albi-brands__card {
  background: transparent !important;
  box-shadow: none !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__logo,
.elementor-widget-albi_brands_showcase .albi-logo-frame__img {
  opacity: 1 !important;
  visibility: visible !important;
  content-visibility: visible !important;
  filter: none !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__card-inner > .albi-logo-frame--brand {
  flex-shrink: 0;
  inset: 10% !important;
  overflow: visible !important;
}

.elementor-widget-albi_brands_showcase .albi-brands .swiper-slide {
  width: var(--albi-brand-card-size, 190px) !important;
  height: var(--albi-brand-card-size, 190px) !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__card {
  min-height: var(--albi-brand-card-size, 190px);
  height: 100%;
  padding: 0;
  overflow: visible !important;
}

.elementor-widget-albi_brands_showcase .albi-brands__marquee-item {
  height: var(--albi-brand-card-size, 190px);
  min-height: var(--albi-brand-card-size, 190px);
}

.elementor-widget-albi_brands_showcase .albi-brands__track.albi-cinematic-build,
.elementor-widget-albi_brands_showcase .albi-brands__top.albi-cinematic-build {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* —— Services dark band —— */
.elementor-widget-albi_services_carousel.albi-cinematic-section {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding: clamp(3rem, 8vw, 5rem) var(--albi-home-gutter);
  box-sizing: border-box;
  background: color-mix(in srgb, var(--albi-text-color, #212121) 94%, #000);
  color: #fff;
}

.elementor-widget-albi_services_carousel .albi-svc-car__outer {
  background: transparent !important;
  width: 100%;
  max-width: var(--albi-home-section-max);
  margin-inline: auto;
  padding: 0 !important;
  box-sizing: border-box;
}

.elementor-widget-albi_services_carousel .albi-svc-car__inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto;
  padding-inline: 0 !important;
  box-sizing: border-box;
}

.elementor-widget-albi_services_carousel .albi-svc-car .albi-hw__subtitle {
  color: rgba(255, 255, 255, 0.72) !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__track {
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

/* Services cards → short horizontal strips (“shirita”) */
.elementor-widget-albi_services_carousel .albi-svc-car {
  --albi-svc-card-h: 132px !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car .swiper-slide,
.elementor-widget-albi_services_carousel .albi-svc-car__slide,
.elementor-widget-albi_services_carousel .albi-svc-car__card--split,
.elementor-widget-albi_services_carousel .albi-svc-car__card {
  height: 132px !important;
  min-height: 132px !important;
  max-height: 132px !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__card--panel-only .albi-svc-car__body {
  min-height: 132px !important;
  height: 132px !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__card--split .albi-svc-car__body,
.elementor-widget-albi_services_carousel .albi-svc-car__card--panel-only .albi-svc-car__body {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 0.85rem;
  row-gap: 0.15rem;
  padding: 0.7rem 1rem !important;
  box-sizing: border-box !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__icon,
.elementor-widget-albi_services_carousel .albi-svc-car__icon--logo {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center !important;
  margin: 0 !important;
  padding: 0.3rem 0.4rem !important;
  min-height: 2.55rem;
  max-width: 4.5rem;
  border-radius: 8px !important;
  background: #fff !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__icon .albi-logo-frame,
.elementor-widget-albi_services_carousel .albi-svc-car__icon .albi-logo-frame--brand {
  background: transparent !important;
  height: 2rem !important;
  max-height: 2rem !important;
  max-width: 4rem !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__icon img,
.elementor-widget-albi_services_carousel .albi-svc-car__icon .albi-logo-frame__img {
  max-height: 2rem !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__title {
  grid-column: 2;
  grid-row: 1;
  margin: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.2 !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__desc {
  grid-column: 2;
  grid-row: 2;
  margin: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  opacity: 0.88;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.elementor-widget-albi_services_carousel .albi-svc-car .albi-hw__btn--ghost {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center !important;
  margin: 0 !important;
  white-space: nowrap;
  padding: 0.45rem 0.9rem !important;
  font-size: 0.78rem !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__slide:hover .albi-svc-car__card {
  transform: none;
  box-shadow: none;
}

@media (max-width: 767px) {
  .elementor-widget-albi_services_carousel .albi-svc-car {
    --albi-svc-card-h: 120px !important;
  }

  .elementor-widget-albi_services_carousel .albi-svc-car .swiper-slide,
  .elementor-widget-albi_services_carousel .albi-svc-car__slide,
  .elementor-widget-albi_services_carousel .albi-svc-car__card--split,
  .elementor-widget-albi_services_carousel .albi-svc-car__card,
  .elementor-widget-albi_services_carousel .albi-svc-car__card--panel-only .albi-svc-car__body {
    height: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;
  }

  .elementor-widget-albi_services_carousel .albi-svc-car__card--split .albi-svc-car__body,
  .elementor-widget-albi_services_carousel .albi-svc-car__card--panel-only .albi-svc-car__body {
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 0.65rem;
    padding: 0.6rem 0.75rem !important;
  }

  .elementor-widget-albi_services_carousel .albi-svc-car .albi-hw__btn--ghost {
    display: none !important;
  }
}

.elementor-widget-albi_services_carousel .albi-svc-car__outer--full {
  width: 100%;
  max-width: var(--albi-home-section-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* —— Offers & news —— */
.elementor-widget-albi_offers_events .albi-offers {
  gap: clamp(2rem, 5vw, 4rem) !important;
}

.elementor-widget-albi_news_grid .albi-news {
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.elementor-widget-albi_news_grid .albi-hw__header {
  padding-right: clamp(1rem, 3vw, 2rem);
}

/* —— Promo hero —— */
.elementor-widget-albi_promo_hero.albi-cinematic-section {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

@media (max-width: 767px) {
  .elementor-widget-albi_home_hero .albi-home-hero-slider {
    aspect-ratio: 4 / 3;
  }

  .elementor-widget-albi_home_hero .albi-home-hero--bg-full,
  .elementor-widget-albi_home_hero .albi-home-hero--bg-boxed {
    min-height: 0 !important;
  }

  .elementor-widget-albi_home_hero .albi-home-hero-slider .albi-home-hero-swiper,
  .elementor-widget-albi_home_hero .albi-home-hero-slider .swiper-slide,
  .elementor-widget-albi_home_hero .albi-home-hero-slider .swiper-wrapper {
    min-height: 0 !important;
  }

  .elementor-widget-albi_brands_showcase .albi-brands__track,
  .elementor-widget-albi_brands_showcase .albi-brands__marquee {
    overflow: hidden !important;
  }

  .elementor-widget-albi_brands_showcase .albi-brands {
    --albi-brand-card-size: 148px !important;
  }

  .elementor-widget-albi_brands_showcase .albi-brands .swiper-slide {
    width: var(--albi-brand-card-size, 148px) !important;
    height: var(--albi-brand-card-size, 148px) !important;
  }
}

/* Alternating alignment and reliable padding, independent of cinematic JS classes. */
.elementor-widget-albi_gastro_categories,
.elementor-widget-albi_news_grid,
.elementor-widget-albi_offers_events,
.elementor-widget-albi_services_carousel {
  padding-block: clamp(3.25rem, 7vw, 5.75rem);
  padding-inline: clamp(1rem, 4vw, 3rem);
}

.elementor-widget-albi_news_grid > .elementor-widget-container {
  padding-inline: 0 !important;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header,
.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__header,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header {
  width: min(100%, 760px) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header > div {
  text-align: left;
}

.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__cta,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header .albi-hw__cta {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__panel--category-icon .albi-shops-car__name {
  display: block !important;
  color: #171717 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__track {
  margin-top: 0.5rem;
}

.elementor-widget-albi_news_grid .albi-news--grid .albi-news__grid {
  margin-top: 0.5rem !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__track {
  margin-top: 0.75rem !important;
}

@media (max-width: 767px) {
  .elementor-widget-albi_gastro_categories,
  .elementor-widget-albi_news_grid,
  .elementor-widget-albi_offers_events,
  .elementor-widget-albi_services_carousel {
    padding-block: 3rem;
    padding-inline: var(--albi-site-gutter, 1rem);
  }
}

/* =============================================================================
   Landing page final visual contract
   ============================================================================= */
.elementor-widget-albi_gastro_categories,
.elementor-widget-albi_news_grid,
.elementor-widget-albi_offers_events,
.elementor-widget-albi_brands_showcase,
.elementor-widget-albi_services_carousel {
  --albi-home-ink: #171717;
  --albi-home-muted: #686868;
  --albi-home-accent: #e31e24;
  /* Widget = full width of Elementor section so BG can span; content is capped below */
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
  min-width: 0;
  box-sizing: border-box;
  overflow-x: clip;
  overflow-y: visible;
}

.elementor-widget-albi_gastro_categories {
  background: #faf8f4;
}

.elementor-widget-albi_news_grid {
  background: #fff;
}

.elementor-widget-albi_offers_events {
  background: #f5f5f3;
}

.elementor-widget-albi_gastro_categories .elementor-widget-container,
.elementor-widget-albi_news_grid .elementor-widget-container,
.elementor-widget-albi_offers_events .elementor-widget-container,
.elementor-widget-albi_brands_showcase .elementor-widget-container,
.elementor-widget-albi_services_carousel .elementor-widget-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.elementor-widget-albi_gastro_categories.albi-cinematic-section,
.elementor-widget-albi_news_grid.albi-cinematic-section,
.elementor-widget-albi_offers_events.albi-cinematic-section,
.elementor-widget-albi_brands_showcase.albi-cinematic-section,
.elementor-widget-albi_services_carousel.albi-cinematic-section {
  padding-block: clamp(3rem, 6vw, 5rem);
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.elementor-widget-albi_gastro_categories .albi-parallax-type__bg,
.elementor-widget-albi_news_grid .albi-parallax-type__bg,
.elementor-widget-albi_offers_events .albi-parallax-type__bg,
.elementor-widget-albi_services_carousel .albi-parallax-type__bg,
.elementor-widget-albi_gastro_categories .albi-line-reveal::after,
.elementor-widget-albi_news_grid .albi-line-reveal::after,
.elementor-widget-albi_offers_events .albi-line-reveal::after,
.elementor-widget-albi_services_carousel .albi-line-reveal::after {
  display: none !important;
  content: none !important;
}

.elementor-widget-albi_gastro_categories :is(.albi-gastro-home, .albi-shops-car),
.elementor-widget-albi_news_grid .albi-news,
.elementor-widget-albi_brands_showcase .albi-brands {
  width: 100%;
  max-width: var(--albi-home-section-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.elementor-widget-albi_offers_events .albi-activities-home,
.elementor-widget-albi_services_carousel .albi-svc-car__outer,
.elementor-widget-albi_services_carousel :is(.albi-svc-car__inner, .albi-svc-car) {
  width: min(100%, var(--albi-home-section-max));
  max-width: var(--albi-home-section-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.elementor-widget-albi_offers_events .albi-activities-home__list {
  width: 100%;
  margin-inline: auto;
}

.elementor-widget-albi_offers_events .albi-activities-home__more {
  display: flex;
  justify-content: center;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

/* Centered section headers: Gastronomi + Aktivitetet */
.elementor-widget-albi_gastro_categories .albi-gastro-home__header,
.elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header {
  display: flex !important;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin: 0 auto clamp(1.75rem, 3.5vw, 2.75rem) !important;
  padding: 0 !important;
  border: 0 !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center !important;
}

/* Left section headers: Blog + Shërbimet (do not share Aktivitetet center rules) */
.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__header,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header {
  display: flex !important;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin: 0 auto clamp(1.75rem, 3.5vw, 2.75rem) 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding: 0 !important;
  border: 0 !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left !important;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header > div {
  width: 100%;
}

.elementor-widget-albi_gastro_categories .albi-hw__eyebrow,
.elementor-widget-albi_news_grid .albi-hw__eyebrow,
.elementor-widget-albi_offers_events .albi-hw__eyebrow,
.elementor-widget-albi_brands_showcase .albi-hw__eyebrow,
.elementor-widget-albi_services_carousel .albi-hw__eyebrow {
  margin-bottom: 0.65rem !important;
  color: var(--albi-home-accent);
  font-size: 0.875rem !important;
  font-weight: 800;
  letter-spacing: 0.14em !important;
}

/* Shared title typography — alignment is set per section below */
.elementor-widget-albi_gastro_categories .albi-hw__title,
.elementor-widget-albi_news_grid .albi-hw__title,
.elementor-widget-albi_offers_events .albi-hw__title,
.elementor-widget-albi_brands_showcase .albi-hw__title,
.elementor-widget-albi_services_carousel .albi-hw__title {
  max-width: 860px !important;
  color: var(--albi-home-ink);
  font-size: clamp(2rem, 4.2vw, 3.5rem);
  font-weight: 850;
  letter-spacing: 0.01em !important;
  line-height: 1.12 !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.elementor-widget-albi_gastro_categories .albi-hw__title,
.elementor-widget-albi_offers_events .albi-hw__title,
.elementor-widget-albi_brands_showcase .albi-hw__title {
  margin: 0 auto !important;
  text-align: center !important;
}

.elementor-widget-albi_news_grid .albi-hw__title,
.elementor-widget-albi_services_carousel .albi-hw__title {
  margin: 0 !important;
  text-align: left !important;
}

.elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header,
.elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title,
  .albi-hw__subtitle
) {
  text-align: center !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title,
  .albi-hw__subtitle
) {
  text-align: left !important;
}

.elementor-widget-albi_gastro_categories .albi-hw__subtitle,
.elementor-widget-albi_offers_events .albi-hw__subtitle {
  max-width: 620px !important;
  margin: 1rem auto 0 !important;
  color: var(--albi-home-muted);
  font-size: clamp(0.9rem, 1.4vw, 1.02rem);
  line-height: 1.65;
  text-align: center !important;
}

.elementor-widget-albi_news_grid .albi-hw__subtitle {
  max-width: 620px !important;
  margin: 1rem 0 0 !important;
  color: var(--albi-home-muted);
  font-size: clamp(0.9rem, 1.4vw, 1.02rem);
  line-height: 1.65;
  text-align: left !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__track {
  width: 100%;
  overflow: hidden;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__panel--category-icon {
  background: #f7f4ef !important;
  border-color: #e8e1d8 !important;
  transition: transform 0.28s ease, background-color 0.28s ease, border-color 0.28s ease;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__panel--category-icon:hover {
  transform: translateY(-5px);
  background: #fff !important;
  border-color: #cfc4b7 !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__bottom {
  justify-content: center !important;
  margin-top: 1.5rem !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__cta,
.elementor-widget-albi_news_grid .albi-hw__cta,
.elementor-widget-albi_offers_events .albi-hw__cta {
  min-height: 2.8rem;
  margin: 1.25rem auto 0 !important;
  padding: 0.75rem 1.4rem !important;
  border: 1px solid var(--albi-home-ink) !important;
  border-radius: 0 !important;
  background: var(--albi-home-ink) !important;
  color: #fff !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__cta:hover,
.elementor-widget-albi_news_grid .albi-hw__cta:hover,
.elementor-widget-albi_offers_events .albi-hw__cta:hover {
  background: var(--albi-home-accent) !important;
  border-color: var(--albi-home-accent) !important;
}

.elementor-widget-albi_news_grid .albi-news__aside,
.elementor-widget-albi_news_grid .albi-news__main {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-widget-albi_news_grid .albi-news--grid .albi-news__grid {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-widget-albi_news_grid .albi-news--grid .albi-news__card {
  overflow: hidden;
  border: 0 !important;
  background: #ededed;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.elementor-widget-albi_news_grid .albi-news--grid .albi-news__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.14) !important;
}

.elementor-widget-albi_offers_events .albi-offers {
  width: 100%;
  margin-top: 0 !important;
}

.elementor-widget-albi_services_carousel.albi-cinematic-section {
  background: #1b1b1b !important;
  background-image: none !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title
) {
  color: #fff !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header .albi-hw__subtitle {
  max-width: 620px !important;
  margin: 1rem 0 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  text-align: left !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car .albi-hw__cta {
  margin: 1.25rem 0 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
}

.elementor-widget-albi_services_carousel .albi-svc-car__track {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  .elementor-widget-albi_gastro_categories .albi-shops-car .swiper-wrapper {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes albi-home-polish-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }

  .elementor-widget-albi_gastro_categories .albi-gastro-home__header,
  .elementor-widget-albi_news_grid .albi-news__aside,
  .elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header,
  .elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header {
    animation: albi-home-polish-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .elementor-widget-albi_gastro_categories .swiper-slide,
  .elementor-widget-albi_news_grid .albi-news__grid > .swiper-slide,
  .elementor-widget-albi_offers_events :is(.albi-offers__featured, .albi-offers__row),
  .elementor-widget-albi_services_carousel .swiper-slide {
    animation: albi-home-polish-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .elementor-widget-albi_gastro_categories .swiper-slide:nth-child(2),
  .elementor-widget-albi_news_grid .albi-news__grid > .swiper-slide:nth-child(2),
  .elementor-widget-albi_services_carousel .swiper-slide:nth-child(2) {
    animation-delay: 90ms;
  }

  .elementor-widget-albi_gastro_categories .swiper-slide:nth-child(3),
  .elementor-widget-albi_news_grid .albi-news__grid > .swiper-slide:nth-child(3),
  .elementor-widget-albi_services_carousel .swiper-slide:nth-child(3) {
    animation-delay: 160ms;
  }
}

@media (max-width: 767px) {
  .elementor-widget-albi_gastro_categories.albi-cinematic-section,
  .elementor-widget-albi_news_grid.albi-cinematic-section,
  .elementor-widget-albi_offers_events.albi-cinematic-section,
  .elementor-widget-albi_services_carousel.albi-cinematic-section {
    padding-block: 2.75rem;
  }

  .elementor-widget-albi_gastro_categories .albi-gastro-home__header,
  .elementor-widget-albi_news_grid .albi-news__aside .albi-hw__header,
  .elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header,
  .elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header {
    margin-bottom: 1.5rem !important;
    padding-inline: 0.25rem !important;
  }

  .elementor-widget-albi_gastro_categories .albi-hw__title,
  .elementor-widget-albi_news_grid .albi-hw__title,
  .elementor-widget-albi_offers_events .albi-hw__title,
  .elementor-widget-albi_brands_showcase .albi-hw__title,
  .elementor-widget-albi_services_carousel .albi-hw__title {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    text-wrap: balance;
    font-size: clamp(1.55rem, 7.2vw, 2.25rem) !important;
    line-height: 1.15 !important;
  }

  .elementor-widget-albi_gastro_categories .albi-shops-car__bottom {
    justify-content: stretch !important;
  }

  .elementor-widget-albi_gastro_categories .albi-shops-car__cta {
    width: 100%;
  }

  /* News: horizontal swipe cards on mobile (not stacked rows) */
  .elementor-widget-albi_news_grid .albi-news.albi-news--grid .albi-news__grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.85rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .elementor-widget-albi_news_grid .albi-news.albi-news--grid .albi-news__grid > .swiper-slide {
    flex: 0 0 78% !important;
    width: 78% !important;
    max-width: 78% !important;
    min-width: 0 !important;
    height: auto !important;
    scroll-snap-align: start;
  }

  .elementor-widget-albi_news_grid .albi-news.albi-news--grid .albi-news__card {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
  }

  .elementor-widget-albi_news_grid .albi-news.albi-news--grid .albi-news__card:hover {
    transform: none;
  }
}

/* Final alignment order: editorial sections alternate instead of repeating. */
.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__header,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header {
  margin-left: 0 !important;
  margin-right: auto !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title,
  .albi-hw__subtitle
),
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title,
  .albi-hw__subtitle
) {
  text-align: left !important;
}

.elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header,
.elementor-widget-albi_offers_events .albi-activities-home > .albi-hw__header :is(
  .albi-hw__eyebrow,
  .albi-hw__title,
  .albi-hw__subtitle
) {
  align-items: center;
  text-align: center !important;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header {
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: center !important;
  text-align: center !important;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header > div {
  width: 100%;
  text-align: center;
}

.elementor-widget-albi_gastro_categories .albi-gastro-home__header .albi-hw__subtitle {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__subtitle,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header .albi-hw__subtitle {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.elementor-widget-albi_news_grid .albi-news__aside .albi-hw__cta,
.elementor-widget-albi_services_carousel .albi-svc-car > .albi-hw__header .albi-hw__cta {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.elementor-widget-albi_gastro_categories .albi-shops-car__panel--category-icon .albi-shops-car__name {
  color: #171717 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Homepage cookie: never inherit tall flex gaps from landing layout. */
body.home #albi-cookie,
body.home #albi-cookie .albi-cookie__panel,
body.home #albi-cookie .albi-cookie__bar,
body.home #albi-cookie .albi-cookie__copy {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

@media (max-width: 900px) {
  body.home #albi-cookie .albi-cookie__copy {
    flex: none !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
  }

  body.home #albi-cookie .albi-cookie__bar {
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
  }

  body.home #albi-cookie .albi-cookie__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.home #albi-cookie .albi-cookie__btn {
    width: 100% !important;
  }
}
