﻿/* ============================================================
   MOBILE — usluge-marketing.html responsive styles
   Breakpoint: ≤ 768px
   ============================================================ */

@media (max-width: 768px) {

  /* ── BASE ── */
  body { overflow-x: hidden; }

  /* ── TOKENS ── */
  :root {
    --fs-h2-mont:  27.5px;
    --fs-h2-dutch: 30.8px;
    --fs-p:        15px;
    --gutter:      20px;
  }

  /* ── CONTAINER ── */
  .container {
    padding-left:  20px;
    padding-right: 20px;
  }

  .h2-anchor { display: none; }

  .h1-mont, .h1-dutch,
  .h2-mont, .h2-dutch {
    word-break:    break-word;
    overflow-wrap: break-word;
  }


  /* ══════════════════════════════════════════
     NAV
     ══════════════════════════════════════════ */

  .site-header,
  .hero .site-header {
    position:       fixed;
    top: 0; left: 0; right: 0;
    z-index:        1001;
    padding-top:    25px;
    padding-bottom: 16px;
    transition:     transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                    background 0.32s ease;
  }

  .site-header--hidden   { transform: translateY(-100%); }
  .site-header--scrolled { background: #111111; }

  .site-header--scrolled .nav__brand,
  .site-header--scrolled .nav__link     { color: #ffffff; }
  .site-header--scrolled .nav__burger span { background: #ffffff; }

  .nav {
    height:  70px;
    padding: 0 20px;
  }

  .nav__left { gap: 12px; }
  .nav__logo,
  .nav__logo img { width: 44px; height: 44px; }

  .nav__links,
  .nav__cta   { display: none; }
  .nav__brand { display: none; }

  /* Burger */
  .nav__burger {
    display:         flex;
    flex-direction:  column;
    justify-content: center;
    gap:             6px;
    width: 44px; height: 44px;
    cursor:          pointer;
    background:      none;
    border:          none;
    padding:         6px;
    flex-shrink:     0;
  }

  .nav__burger span {
    display:       block;
    width:         100%;
    height:        2px;
    background:    #ffffff;
    border-radius: 2px;
    transition:    transform 0.3s ease, opacity 0.3s ease;
  }

  .nav-open .nav__burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .nav-open .nav__burger span:nth-child(2) { opacity: 0; }
  .nav-open .nav__burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Mobile nav overlay */
  .nav__mobile {
    display:    block;
    position:   fixed;
    inset:      0;
    background: #111111;
    z-index:    999;
    overflow:   hidden;
    transform:  translateX(100%);
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .nav-open .nav__mobile { transform: translateX(0); }

  /* Panels */
  .nav__mob-panel {
    position:        absolute;
    inset:           0;
    display:         flex;
    flex-direction:  column;
    padding:         220px 20px 60px;
    transition:      transform 0.36s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y:      auto;
  }

  .nav__mob-panel--main   { transform: translateX(0); }
  .nav__mob-panel--pushed { transform: translateX(-100%) !important; }
  .nav__mob-panel--sub    { transform: translateX(100%); }
  .nav__mob-panel--sub.nav__mob-panel--active { transform: translateX(0); }

  /* Link list */
  .nav__mob-links {
    list-style:     none;
    padding:        0;
    margin:         0;
    display:        flex;
    flex-direction: column;
    flex:           1;
  }

  .nav__mob-link {
    font-family:     var(--font-mont);
    font-size:       22px;
    font-weight:     400;
    letter-spacing:  -0.04em;
    color:           #ffffff;
    text-decoration: none;
    padding:         18px 0;
    border-bottom:   1px solid rgba(255,255,255,0.08);
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    width:           100%;
    background:      none;
    border-left:     none;
    border-right:    none;
    border-top:      none;
    cursor:          pointer;
    text-align:      left;
  }

  .nav__mob-links > li:last-child .nav__mob-link { border-bottom: none; }

  .nav__mob-link svg { width: 8px; height: 14px; flex-shrink: 0; opacity: 0.45; }

  /* Back button */
  .nav__mob-back {
    display:        flex;
    align-items:    center;
    gap:            12px;
    font-family:    var(--font-mont);
    font-size:      13px;
    font-weight:    500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color:          rgba(255,255,255,0.45);
    background:     none;
    border:         none;
    cursor:         pointer;
    padding:        0;
    margin-bottom:  40px;
  }

  .nav__mob-back svg { width: 8px; height: 14px; flex-shrink: 0; }
  .nav__mob-back:hover { color: rgba(255,255,255,0.75); }

  .nav__mob-link--cta {
    flex-direction: column;
    align-items:    flex-start;
    gap:            4px;
  }

  .nav__mob-link-inner  { display: flex; flex-direction: column; gap: 10px; }
  .nav__mob-link-title  { font-size: 22px; font-weight: 400; color: #ffffff; letter-spacing: -0.04em; }
  .nav__mob-link-sub    { font-size: 14px; font-weight: 400; color: rgba(255,255,255,0.35); letter-spacing: 0; line-height: 1.4; }

  /* CTA button in overlay */
  .nav__mobile-cta {
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-family:     var(--font-mont);
    font-size:       15px;
    font-weight:     600;
    color:           #111111;
    background:      #ffffff;
    border-radius:   8px;
    padding:         16px 32px;
    text-decoration: none;
    margin-top:      40px;
    letter-spacing:  -0.02em;
    flex-shrink:     0;
  }


  /* ══════════════════════════════════════════
     HERO
     ══════════════════════════════════════════ */

  .hero--marketing {
    height:     auto;
    min-height: 100svh;
  }

  /* Must match desktop specificity (0,2,0) to override top/left/transform */
  .hero--marketing .hero__content {
    position:       relative;
    top:            auto;
    left:           auto;
    transform:      none;
    width:          100%;
    padding:        160px 20px 80px;
    box-sizing:     border-box;
    display:        block;
    align-items:    flex-start;
  }

  .hero--marketing .hero__heading {
    margin-top:    20px;
    display:       block;
    text-align:    left;
    align-items:   flex-start;
    max-width:     100%;
    margin-left:   0;
    margin-right:  0;
  }

  .hero__heading-line { display: inline; }
  .hero__heading-line .h1-mont  { font-size: 28px; line-height: 1.15; }
  .hero__heading-line .h1-dutch { font-size: 31px; line-height: 1.15; }

  .hero--marketing .hero__sub {
    text-align:   left;
    max-width:    100%;
    margin-left:  0;
    margin-right: 0;
    margin-top:   20px;
    color:        rgba(255,255,255,0.8);
  }

  .hero--marketing .hero__badge {
    transform:        none;
    transform-origin: unset;
    margin-left:      0;
    margin-right:     0;
    padding:          6.4px 14.4px;
    font-size:        calc(var(--fs-nav) * 0.96 * 0.8);
  }

  .hero--marketing .hero__badge-text { font-size: calc(var(--fs-nav) * 0.96 * 0.8); }
  .hero--marketing .hero__badge-stars { font-size: 10.4px; }

  /* Port-filters — single wrapping row, natural break */
  .port-filters {
    margin-top:     28px;
    flex-direction: row;
    flex-wrap:      wrap;
    align-items:    flex-start;
    gap:            8px;
  }

  .port-filters__row {
    display: contents;
  }

  .port-filter {
    font-size: calc(var(--fs-nav) * 0.96 * 1.15 * 0.8);
    padding:   7.4px 18.4px;
  }


  /* ══════════════════════════════════════════
     TWO-COL DARK
     ══════════════════════════════════════════ */

  .section-mkt-twocol {
    padding-top:    60px;
    padding-bottom: 60px;
  }

  .mkt-twocol__inner {
    width:                 100%;
    padding:               0 20px;
    box-sizing:            border-box;
    grid-template-columns: 1fr;
    gap:                   40px;
  }

  /* Keep stats as 2×2 grid */
  .mkt-twocol__right {
    grid-template-columns: 1fr 1fr;
  }

  .mkt-twocol__stat     { padding: 24px 18px; }
  .mkt-twocol__stat-num { font-size: 36px; }

  .mkt-twocol__cta { width: 100%; justify-content: center; }


  /* ══════════════════════════════════════════
     HORIZONTAL SCROLL CARDS — auto-animate
     Let it run; just trim card width for mobile
     ══════════════════════════════════════════ */

  .section-mkt-scroll { padding-bottom: 60px; }

  .mkt-scroll__card { width: 260px; }


  /* ══════════════════════════════════════════
     PROCESS — dark
     ══════════════════════════════════════════ */

  /* Disable curtain sticky on mobile */
  .mkt-curtain-wrap      { position: static; }
  .section-mkt-process   { position: static; padding-bottom: 60px; }
  .mkt-curtain-top       { position: static; z-index: auto; }

  .mkt-process__heading {
    padding:       60px 20px 0;
    margin-bottom: 32px;
  }

  .mkt-process__steps {
    width:                 100%;
    padding:               0 20px;
    box-sizing:            border-box;
    grid-template-columns: 1fr;
    display:               flex;
    flex-direction:        column;
    gap:                   12px;
  }

  .mkt-process__step { padding: 24px 20px; }


  /* ══════════════════════════════════════════
     SERVICES GRID
     ══════════════════════════════════════════ */

  .section-mkt-services {
    padding-top:    60px;
    padding-bottom: 60px;
  }

  .mkt-services__heading {
    text-align:    left;
    margin-bottom: 32px;
  }

  .mkt-services__grid {
    width:                 100%;
    grid-template-columns: 1fr;
    display:               flex;
    flex-direction:        column;
    gap:                   12px;
  }

  .mkt-card {
    text-align:   left;
    align-items:  flex-start;
    min-height:   auto;
    padding:      24px;
  }

  .mkt-card__desc {
    font-size:  20px;
    text-align: left;
  }

  .mkt-card__list { justify-content: flex-start; }

  .mkt-card--cta {
    align-items:     flex-start;
    justify-content: flex-start;
    padding:         28px;
    order:           6;
  }

  .mkt-card--cta .mkt-card__desc { text-align: left; }

  .mkt-card--cta .mkt-card__cta-btn,
  .mkt-card--cta .mkt-card__btn-ghost { margin-top: 0; }


  /* ══════════════════════════════════════════
     PORTFOLIO STRIP
     ══════════════════════════════════════════ */

  .section-mkt-portfolio {
    padding-top:    60px;
    padding-bottom: 60px;
  }

  .mkt-portfolio__head {
    width:           calc(100% - 40px);
    margin:          0 auto 24px;
    flex-wrap:       wrap;
    gap:             12px;
    justify-content: flex-start;
  }

  .mkt-portfolio__head h2 { text-align: left; }

  .mkt-portfolio__grid {
    width:                 calc(100% - 40px);
    margin:                0 auto;
    grid-template-columns: 1fr;
    display:               flex;
    flex-direction:        column;
    gap:                   12px;
  }

  .mkt-portfolio__item        { aspect-ratio: 4 / 3; }
  .mkt-portfolio__item--cta   { aspect-ratio: unset; min-height: 220px; }
  .mkt-portfolio__cta-text    { font-size: 20px; }


  /* ══════════════════════════════════════════
     PRICING CTA
     ══════════════════════════════════════════ */

  .section-mkt-pricing {
    padding-top:    60px;
    padding-bottom: 60px;
  }

  .mkt-pricing__box {
    width:                 100%;
    box-sizing:            border-box;
    padding:               36px 20px;
    grid-template-columns: 1fr;
    text-align:            left;
    gap:                   28px;
  }

  .mkt-pricing__text h2 { text-align: left; }

  .mkt-pricing__text p {
    text-align: left;
    max-width:  100%;
    margin:     0;
  }

  .mkt-pricing__btns {
    flex-direction: column;
    gap:            12px;
  }

  .mkt-pricing__btn-primary,
  .mkt-pricing__btn-ghost {
    width:           100%;
    justify-content: center;
  }


  /* ══════════════════════════════════════════
     FAQ
     ══════════════════════════════════════════ */

  .section-faq {
    padding-top:    60px;
    padding-bottom: 60px;
  }

  .faq__heading { margin-bottom: 20px; text-align: left; }

  .faq__question       { gap: 16px; padding: 20px 0; }
  .faq__question-text  { font-size: 14px; }
  .faq__answer-inner   { max-width: 100%; font-size: 15px; }


  /* ══════════════════════════════════════════
     CTA
     ══════════════════════════════════════════ */

  .section-cta {
    padding-top:    80px;
    padding-bottom: 80px;
  }

  .cta__heading       { margin-bottom: 20px; text-align: left; }
  .cta__heading-line  { display: inline; }
  .cta__dimmed        { display: inline; }

  .cta__sub {
    font-size:     15px;
    text-align:    left;
    margin-bottom: 32px;
  }

  .cta__btn {
    width:           100%;
    justify-content: center;
    padding:         15px 24px;
    font-size:       14px;
  }


  /* ══════════════════════════════════════════
     FOOTER
     ══════════════════════════════════════════ */

  .site-footer     { padding-top: 56px; }
  .footer__top     { flex-direction: column; gap: 0; padding-bottom: 0; }
  .footer__logo    { padding-bottom: 36px; }
  .footer__logo img { width: 56px; height: 56px; }

  .footer__nav     { display: none; }
  .footer__mob-nav { display: block; width: 100%; border-top: 1px solid rgba(0,0,0,0.08); margin-bottom: 36px; }

  .footer__mob-link {
    display:         block;
    font-family:     var(--font-mont);
    font-size:       15px;
    font-weight:     400;
    color:           #111111;
    text-decoration: none;
    padding:         16px 0;
    border-bottom:   1px solid rgba(0,0,0,0.08);
    letter-spacing:  var(--ls-default);
  }

  .footer__mob-link--l2   { font-size: 14px; color: #444444; padding: 12px 0 12px 16px; border-bottom: none; }
  .footer__mob-link--deep { font-size: 13px; color: #666666; padding: 14px 0 14px 32px; border-bottom: none; }

  .footer__mob-group { border-bottom: 1px solid rgba(0,0,0,0.08); }

  .footer__mob-nav > .footer__mob-group:last-of-type { border-bottom: none; }

  .footer__mob-title {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    width:           100%;
    padding:         16px 0;
    font-family:     var(--font-mont);
    font-size:       15px;
    font-weight:     400;
    color:           #111111;
    background:      none;
    border:          none;
    cursor:          pointer;
    text-align:      left;
    letter-spacing:  var(--ls-default);
  }

  .footer__mob-title--l2 { font-size: 14px; color: #444444; padding: 12px 0 12px 16px; }

  .footer__mob-title svg {
    width:      10px;
    height:     10px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
    opacity:    0.5;
  }

  .footer__mob-group.is-open > .footer__mob-title svg { transform: rotate(180deg); }

  .footer__mob-sub { display: none; }
  .footer__mob-group.is-open > .footer__mob-sub { display: block; padding-bottom: 8px; }

  .footer__legal-links       { flex-wrap: wrap; gap: 4px 8px; margin-bottom: 14px; }
  .footer__legal-links a,
  .footer__legal-sep         { font-size: 12px; }
  .footer__disclaimer        { font-size: 12px; line-height: 1.55; }
  .footer__disclaimer br     { display: none; }
  .footer__meta              { gap: 4px; }
  .footer__meta p            { font-size: 12px; }
  .footer__back-top          { position: static; margin-top: 20px; }
  .footer__bottom            { padding-bottom: 28px; }
  .footer__watermark         { font-size: 64px; }
  .footer__watermark-wrap    { margin-top: 28px; }

}

@media (max-width: 768px) {
  .hero--marketing {
    min-height: auto;
  }

  .hero--marketing .hero__content {
    padding-bottom: 140px;
  }

  .section-mkt-twocol,
  .section-mkt-scroll,
  .section-mkt-process {
    position: relative;
    background: #000000;
    margin-top: -2px;
    box-shadow: 0 -1px 0 #000000;
  }

  .section-mkt-services,
  .section-mkt-portfolio,
  .section-mkt-pricing,
  .section-faq {
    position: relative;
    margin-top: -2px;
  }

  .section-mkt-services {
    box-shadow: 0 -1px 0 #f5f5f5;
  }

  .section-mkt-portfolio,
  .section-mkt-pricing,
  .section-faq {
    box-shadow: 0 -1px 0 #ffffff;
  }
}
/* Solid divider between Kompanija and Kontaktiraj nas in main mobile nav */
#mob-main .nav__mob-links > li:nth-last-child(2) .nav__mob-link {
  border-bottom-color: #ffffff;
}

