/* Logo override */
.mxd-header__logo .mxd-logo__image {
  width: 250px;
  height: auto;
  max-width: none;
}

.mxd-hero-02-marquee .marquee__text {
  margin-top: 180px;
  }

  .marquee__image {
  margin-top: 180px;
  }

  .bg-accent{
    background-color: #d4627d !important;
  }

  
.footer-brand-text {
  font-family: 'TT Chocolates', sans-serif;
  font-weight: 700;
  font-size: clamp(6rem, 20vw, 22rem); /* skalira se kao rayo */
  line-height: 0.9;
  text-align: center;
  text-transform: lowercase;

  color: #d4627d;

  width: 100%;
  white-space: nowrap;

  display: flex;
  justify-content: center;
  align-items: center;
}

.mxd-block__inner-headline .btn-line-headline .btn-caption {
  font-size: 9rem;
}

.mxd-tech-stack-cards__logo img {
  max-width: 140px;
  max-height: 55px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.mxd-tech-stack-cards__logo {
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.mxd-tech-stack-cards__inner {
  background: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mxd-tech-stack-cards__title {
  display: none !important;
}

.inner-headline__title {
  font-size: clamp(3.2rem, 5.5vw, 7.5rem) !important;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.lang-switcher {
  --lang-switcher-size: 5.6rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.4rem;
  height: var(--lang-switcher-size);
  border: 1px solid var(--st-muted);
  border-radius: 999px;
  font-family: var(--_font-accent);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1;
  background: transparent;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.lang-switcher:hover {
  border-color: var(--st-accent, var(--t-bright));
}

.lang-switcher__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.8rem;
  height: 100%;
  padding: 0 1rem;
  color: var(--t-medium);
  border-radius: 999px;
  text-decoration: none;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.lang-switcher__link:hover {
  color: var(--t-bright);
}

.lang-switcher__link.is-active {
  background: var(--base-opp);
  color: var(--base);
  pointer-events: none;
}

.lang-switcher__link.is-active:hover {
  color: var(--base);
}

/* Place inside header on desktop, hide menu version */
.mxd-menu__lang {
  display: none;
}

@media (max-width: 1024px) {
  .mxd-header__controls .lang-switcher {
    display: none !important;
  }
  .mxd-menu__lang {
    display: flex;
    margin-top: 2.4rem;
    margin-bottom: 0.6rem;
  }
  .mxd-menu__lang .lang-switcher {
    --lang-switcher-size: 5rem;
    font-size: 1.3rem;
  }
  .mxd-menu__lang .lang-switcher__link {
    min-width: 5rem;
    padding: 0 1.4rem;
  }
}

.mxd-hero-02-marquee__image img {
    width: 150%;
    max-width: none;
    position: relative;
    left: -25%;
    top: -20%;
    transform: translateX(-50%);
  }

/* Hero "lolipop" vizual je uvećan preko 100% širine, pa na nekim mobilnim
   browser-ima (npr. Samsung Internet) izlazi van ekrana i pravi horizontalni
   scroll (telo sajta ima overflow-x: unset !important). Sečemo horizontalni
   višak na samom sticky elementu hero-a i njegovim potomcima. overflow-x: clip
   ne pravi scroll kontejner, pa NE kvari sticky/pinned hero animaciju, a
   vertikalni bleed slike ostaje vidljiv (overflow-y ostaje visible). */
.mxd-hero-02 .mxd-pinned-fullscreen__static,
.mxd-hero-02-static__center,
.mxd-hero-02-marquee {
  overflow-x: clip;
}

/* Fallback za browsere koji ne podržavaju overflow: clip — ograničavamo samu
   sliku tako da ne može da pređe širinu ekrana. */
@supports not (overflow: clip) {
  .mxd-hero-02-marquee__image {
    max-width: 100%;
    overflow: hidden;
  }
}



@media (max-width: 768px) {

  .mxd-header__logo .mxd-logo__image {
  width: 170px;
  height: auto;
  max-width: none;
}

.mxd-hero-02-marquee__image img {
    width: 170%;
    max-width: none;
    position: relative;
    left: -35%;
    top: -20%;
    transform: translateX(-50%);
  }

  .mxd-hero-02-marquee .marquee__text .marquee__image {
  margin-top: 160px;
  }

    .marquee__image {
  margin-top: 160px;
  }

   .hide-on-mobile {
    display: none !important;
  }

  .portrait-03 { order: 1; }
  .landscape-01 { order: 2; }
  .portrait-01 { order: 3; }

   .mxd-promo__images {
    display: block !important;
  }

  .mxd-block__inner-headline .btn-line-headline .btn-caption {
  font-size: 2.5rem;
}

  /* Portfolio pages — mobile breathing room */
  .ls-page-portfolio .mxd-container.grid-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }

  .ls-page-portfolio .mxd-section-inner-headline {
    padding-top: 10rem;
  }

  .ls-page-portfolio .inner-headline__title {
    font-size: clamp(2.8rem, 8.5vw, 4.2rem) !important;
    line-height: 1.14;
  }

  .ls-page-portfolio .inner-headline__text {
    margin-top: 2rem;
    line-height: 1.55;
  }

  .ls-page-portfolio .mxd-block__name {
    margin-bottom: 2.4rem;
  }

  .ls-page-portfolio .mxd-block__name h2,
  .ls-page-portfolio .mxd-block__paragraph p {
    line-height: 1.58;
  }

  .ls-page-portfolio .mxd-block__paragraph p + p {
    margin-top: 1.6rem;
  }

  .ls-page-portfolio .mxd-paragraph__controls {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    margin-top: 2.4rem;
  }

}

/* Process / approach list — meaningful icons */
.ls-approach-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 7rem;
  height: 7rem;
  font-size: 3.4rem;
  line-height: 1;
  color: #d4627d;
  background: rgba(212, 98, 125, 0.1);
  border-radius: 1.4rem;
}

/* ============================================================
   WEB PORTFOLIO — Project showcase (browser mockups)
   ============================================================ */

.ls-web-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem 3rem;
}

.ls-web-card {
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s var(--_animbezier), transform 0.7s var(--_animbezier);
}

.ls-web-card.is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* Featured project spans both columns with a horizontal layout */
.ls-web-card--featured {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: 4.5rem;
}

.ls-web-card--featured .ls-web-card__visual {
  flex: 1 1 60%;
  min-width: 0;
}

.ls-web-card--featured .ls-web-card__meta {
  flex: 1 1 40%;
  padding-top: 0;
}

/* ---- Browser window mockup ---- */
.ls-browser {
  position: relative;
  display: block;
  border-radius: 1.4rem;
  overflow: hidden;
  background: var(--base-tint);
  border: 1px solid var(--base-shade);
  box-shadow: 0 2rem 4rem -2rem rgba(22, 22, 22, 0.22), 0 0.4rem 1rem -0.6rem rgba(22, 22, 22, 0.12);
  text-decoration: none;
  transition: transform 0.45s var(--_animbezier), box-shadow 0.45s var(--_animbezier), border-color 0.45s var(--_animbezier);
  will-change: transform;
}

.ls-browser:hover {
  transform: translateY(-8px);
  box-shadow: 0 3.4rem 6rem -2rem rgba(212, 98, 125, 0.3), 0 0.6rem 1.4rem -0.6rem rgba(22, 22, 22, 0.16);
  border-color: #d4627d;
}

.ls-browser__bar {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  height: 4.4rem;
  padding: 0 1.6rem;
  background: var(--base);
  border-bottom: 1px solid var(--base-shade);
}

.ls-browser__dots {
  display: inline-flex;
  gap: 0.7rem;
  flex: 0 0 auto;
}

.ls-browser__dots span {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: var(--base-shade);
}

.ls-browser__dots span:nth-child(1) { background: #ff5f57; }
.ls-browser__dots span:nth-child(2) { background: #febc2e; }
.ls-browser__dots span:nth-child(3) { background: #28c840; }

.ls-browser__url {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex: 1 1 auto;
  min-width: 0;
  height: 2.8rem;
  padding: 0 1.4rem;
  border-radius: 999px;
  background: var(--base-tint);
  border: 1px solid var(--base-shade);
  font-family: var(--_font-accent);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--st-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ls-browser__url i {
  font-size: 1.3rem;
  color: #28c840;
  flex: 0 0 auto;
}

.ls-browser__url span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ls-browser__viewport {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--base);
}

.ls-browser__viewport img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 4s linear;
}

/* Slow auto-scroll reveal of the page on hover */
.ls-browser:hover .ls-browser__viewport img {
  transform: scale(1.04);
}

/* Hover overlay with visit pill */
.ls-browser__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(22, 22, 22, 0.28);
  opacity: 0;
  transition: opacity 0.4s var(--_animbezier);
  pointer-events: none;
}

.ls-browser:hover .ls-browser__overlay {
  opacity: 1;
}

.ls-browser__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem 2.2rem;
  border-radius: 999px;
  background: #fff;
  color: #161616;
  font-family: var(--_font-accent);
  font-weight: 600;
  font-size: 1.5rem;
  transform: translateY(10px);
  transition: transform 0.4s var(--_animbezier);
}

.ls-browser:hover .ls-browser__pill {
  transform: translateY(0);
}

.ls-browser__pill i {
  font-size: 1.6rem;
}

/* ---- Card meta ---- */
.ls-web-card__meta {
  padding-top: 2.4rem;
}

.ls-web-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.6rem;
  flex-wrap: wrap;
}

.ls-web-card__title {
  font-size: clamp(2.2rem, 2.4vw, 3.2rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}

.ls-web-card--featured .ls-web-card__title {
  font-size: clamp(3rem, 3.6vw, 4.8rem);
}

.ls-web-card__cat {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  font-family: var(--_font-accent);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #d4627d;
}

.ls-web-card__cat::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: #d4627d;
}

.ls-web-card__text {
  margin: 1.4rem 0 0;
  color: var(--st-medium);
  font-size: 1.6rem;
  line-height: 1.55;
}

.ls-web-card--featured .ls-web-card__text {
  font-size: 1.8rem;
}

.ls-web-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
  padding: 0;
  list-style: none;
}

.ls-web-card__tags li {
  font-family: var(--_font-accent);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--st-bright);
  padding: 0.6rem 1.3rem;
  border: 1px solid var(--base-shade);
  border-radius: 999px;
}

.ls-web-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 2.4rem;
  font-family: var(--_font-accent);
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--st-bright);
  text-decoration: none;
  transition: gap 0.3s var(--_animbezier), color 0.3s var(--_animbezier);
}

.ls-web-card__link i {
  font-size: 1.6rem;
  transition: transform 0.3s var(--_animbezier);
}

.ls-web-card__link:hover {
  color: #d4627d;
  gap: 1.1rem;
}

/* ---- Responsive ---- */
@media (max-width: 1200px) {
  .ls-web-showcase { gap: 3.4rem 2.4rem; }
  .ls-web-card--featured { gap: 3rem; }
}

@media (max-width: 992px) {
  .ls-web-card--featured {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ls-web-card--featured .ls-web-card__meta {
    padding-top: 2.4rem;
  }
}

@media (max-width: 768px) {
  .ls-web-showcase {
    grid-template-columns: 1fr;
    gap: 3.6rem;
  }
  .ls-browser__bar { height: 3.8rem; }
  .ls-browser__viewport { aspect-ratio: 16 / 11; }
}

/* ---- 404 page ---- */
.ls-404-page .fullscreen-block {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 8rem 2rem 4rem;
}

.ls-404-content {
  width: 100%;
  max-width: 72rem;
}

.ls-404-code {
  margin: 0 0 1.6rem;
  font-family: var(--_font-accent);
  font-size: clamp(8rem, 22vw, 18rem);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--st-bright);
}

.ls-404-text {
  margin-bottom: 3.2rem;
}

.ls-404-text p {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.3;
}

.ls-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
