/* ==========================================================
   SŁOWIK DIGITAL — MOBILE ACTION DOCK v1.17.0
   Clean state machine UI: 3 actions -> compact 2 actions.
   White edge-to-edge surface, structural separators, sharp geometry.
   ========================================================== */

.sd-mobile-action-dock{display:none}

/* Legacy quote-intent helper retained for compatibility. */
.sd-mobile-action-intent{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #bed8e8;
  border-left:3px solid #138bd2;
  border-radius:0;
  background:#f2f8fc;
  color:#071a33;
}
.sd-mobile-action-intent__icon{
  width:34px;height:34px;display:grid;place-items:center;background:#e3f3fc
}
.sd-mobile-action-intent__icon img{width:20px;height:20px;display:block;object-fit:contain}
.sd-mobile-action-intent__copy{min-width:0}
.sd-mobile-action-intent__copy span,.sd-mobile-action-intent__copy strong{display:block}
.sd-mobile-action-intent__copy span{
  margin-bottom:2px;color:#0a74b3;font:700 9px/1.2 "Inter",system-ui,sans-serif;
  letter-spacing:.13em;text-transform:uppercase
}
.sd-mobile-action-intent__copy strong{
  color:#102c49;font:600 12px/1.4 "Inter",system-ui,sans-serif
}

@media (max-width:820px){
  body[data-page="home"] .sd-hero-v6__content-wrap{transform:translate3d(0,-5px,0)}

  .sd-mobile-action-dock{
    --sd-dock-surface:#fff;
    --sd-dock-ink:#071a33;
    --sd-dock-green:#22c55e;
    --sd-dock-green-strong:#16a34a;
    --sd-dock-green-tint:rgba(34,197,94,.06);
    --sd-dock-separator:rgba(7,26,51,.19);
    --sd-dock-safe:env(safe-area-inset-bottom,0px);

    display:block;
    position:fixed;
    z-index:970;
    left:0;right:0;bottom:0;
    width:100%;
    margin:0;padding:0;
    border:0;border-radius:0;
    background:var(--sd-dock-surface);
    box-shadow:0 -8px 22px rgba(7,26,51,.13);
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    transition:
      transform .20s cubic-bezier(.22,.72,.2,1),
      opacity .16s ease,
      visibility .16s ease;
    will-change:transform,opacity;
    -webkit-tap-highlight-color:transparent;
  }

  .sd-mobile-action-dock.is-hidden,
  .sd-mobile-action-dock.is-footer-suppressed{
    transform:translate3d(0,calc(100% + 3px),0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .sd-mobile-action-dock.is-footer-suppressed{transition:none!important}

  .sd-mobile-action-dock__grid{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    gap:0;
    width:100%;
    margin:0;
    padding:0 0 var(--sd-dock-safe);
    overflow:hidden;
    background:var(--sd-dock-surface);
    transition:grid-template-columns .72s cubic-bezier(.16,1,.3,1);
  }

  /* Structural separators belong to the GRID, never to a button. */
  .sd-mobile-action-dock__grid::before,
  .sd-mobile-action-dock__grid::after{
    content:"";
    position:absolute;
    z-index:8;
    top:15px;
    bottom:15px;
    width:1px;
    pointer-events:none;
    background:linear-gradient(
      180deg,
      transparent 0%,
      var(--sd-dock-separator) 20%,
      var(--sd-dock-separator) 80%,
      transparent 100%
    );
    transition:left .68s cubic-bezier(.16,1,.3,1),opacity .34s ease;
  }
  .sd-mobile-action-dock__grid::before{left:33.333%;opacity:1}
  .sd-mobile-action-dock__grid::after{left:66.666%;opacity:1}

  .sd-mobile-action-dock__item{
    position:relative;
    z-index:2;
    min-width:0;
    min-height:66px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0;
    padding:9px 6px 8px;
    border:0;
    border-radius:0;
    background:var(--sd-dock-surface);
    color:var(--sd-dock-ink);
    text-decoration:none;
    overflow:hidden;
    touch-action:manipulation;
    user-select:none;
    -webkit-user-select:none;
    transition:
      background-color .18s ease,
      border-color .22s ease,
      box-shadow .22s ease,
      opacity .34s ease,
      transform .68s cubic-bezier(.16,1,.3,1),
      padding .68s cubic-bezier(.16,1,.3,1),
      margin .68s cubic-bezier(.16,1,.3,1),
      min-height .42s ease;
  }

  .sd-mobile-action-dock__item::before,
  .sd-mobile-action-dock__item::after{content:none!important;display:none!important}

  .sd-mobile-action-dock__icon{
    width:25px;height:25px;
    display:grid;place-items:center;
    flex:0 0 auto;
    transform:translate3d(0,0,0);
    transition:transform .38s ease,opacity .30s ease;
  }
  .sd-mobile-action-dock__icon img{
    width:100%;height:100%;display:block;object-fit:contain;image-rendering:auto
  }
  .sd-mobile-action-dock__item--offer .sd-mobile-action-dock__icon img,
  .sd-mobile-action-dock__item--contact .sd-mobile-action-dock__icon img{
    filter:brightness(0) saturate(100%) invert(10%) sepia(29%) saturate(2424%) hue-rotate(181deg) brightness(85%) contrast(101%)
  }
  .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__icon img{
    filter:brightness(0) saturate(100%) invert(67%) sepia(84%) saturate(688%) hue-rotate(82deg) brightness(96%) contrast(90%)
  }

  .sd-mobile-action-dock__label{
    min-width:0;
    overflow:hidden;
    color:currentColor;
    font:700 11.5px/1.12 "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    letter-spacing:-.018em;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .sd-mobile-action-dock__quote-copy{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    color:inherit;
  }

  /* Triple menu: no arrow. Force this even against cached/legacy rules. */
  .sd-mobile-action-dock:not(.is-offer-context):not([data-page-context="kontakt"])
  .sd-mobile-action-dock__arrow{
    display:none!important;
  }

  /* Triple menu quote accent: short and flush with the top edge. */
  .sd-mobile-action-dock:not(.is-offer-context):not([data-page-context="kontakt"])
  .sd-mobile-action-dock__item--quote{
    background-color:#fff;
    background-image:linear-gradient(var(--sd-dock-green),var(--sd-dock-green));
    background-repeat:no-repeat;
    background-position:top center;
    background-size:20% 3px;
  }

  .sd-mobile-action-dock__item:active,
  .sd-mobile-action-dock__item.is-pressed{background:#f7fafc}
  .sd-mobile-action-dock__item--offer.is-pressed .sd-mobile-action-dock__icon{
    transform:translate3d(0,-2px,0) scale(.96)
  }
  .sd-mobile-action-dock__item--quote.is-pressed .sd-mobile-action-dock__icon{
    transform:translate3d(0,-1px,0) scale(1.04)
  }
  .sd-mobile-action-dock__item--contact.is-pressed .sd-mobile-action-dock__icon{
    transform:scale(1.04)
  }
  .sd-mobile-action-dock__item:focus-visible{
    z-index:10;outline:2px solid rgba(19,139,210,.72);outline-offset:-2px
  }

  /* ========================================================
     Compact two-action state. The first track collapses and
     the dock MORPHS instead of disappearing/reappearing.
     ======================================================== */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__grid{
    grid-template-columns:0fr minmax(0,2fr) minmax(0,1fr)
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__grid::before{
    left:0;opacity:0
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__grid::after{
    left:66.666%;opacity:1
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--offer{
    display:flex!important;
    grid-column:1;
    min-width:0;
    width:auto;
    padding-left:0;padding-right:0;
    opacity:0;
    pointer-events:none;
    transform:translateX(-12px) scale(.94)
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote{
    grid-column:2;
    align-self:stretch;
    justify-self:stretch;
    min-height:50px;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:8px 10px;
    padding:0 18px;
    border:1.5px solid var(--sd-dock-green);
    border-radius:0;
    background:#fff;
    background-image:none;
    color:var(--sd-dock-ink);
    box-shadow:0 0 0 0 rgba(34,197,94,0);
    animation:sdDockQuoteSoftGlow 3.6s ease-in-out infinite
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__icon{
    width:24px;height:24px;flex:0 0 24px
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__quote-copy{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-width:0;
    flex:1 1 auto
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__label{
    font-size:14px;line-height:1;font-weight:800;text-align:left
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__arrow{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    color:var(--sd-dock-ink);
    font:800 20px/1 "Manrope","Inter",sans-serif;
    transform:translate3d(0,-1px,0);
    animation:sdDockArrowNudge 2.8s ease-in-out infinite
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote:active,
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote.is-pressed{
    background:rgba(34,197,94,.075);
    border-color:var(--sd-dock-green-strong);
    box-shadow:0 0 0 3px rgba(34,197,94,.075);
    transform:translateY(-1px)
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote:active .sd-mobile-action-dock__arrow,
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote.is-pressed .sd-mobile-action-dock__arrow{
    animation:none;transform:translate3d(3px,-1px,0)
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--contact{
    grid-column:3;
    min-height:64px;
    border:0
  }

  /* Contact page is always the same two-action visual system. */
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__grid{
    grid-template-columns:minmax(0,2fr) minmax(0,1fr)
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__grid::before{
    display:none
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__grid::after{
    left:66.666%;opacity:1
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote{
    grid-column:1;
    min-height:50px;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:8px 10px;
    padding:0 18px;
    border:1.5px solid var(--sd-dock-green);
    border-radius:0;
    background:#fff;
    color:var(--sd-dock-ink);
    box-shadow:0 0 0 0 rgba(34,197,94,0);
    animation:sdDockQuoteSoftGlow 3.6s ease-in-out infinite
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__quote-copy{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-width:0;
    flex:1 1 auto
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__label{
    font-size:14px;line-height:1;font-weight:800;text-align:left
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__arrow{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    color:var(--sd-dock-ink);
    font:800 20px/1 "Manrope","Inter",sans-serif;
    transform:translate3d(0,-1px,0);
    animation:sdDockArrowNudge 2.8s ease-in-out infinite
  }
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--contact{
    grid-column:2;min-height:64px
  }

  @keyframes sdDockArrowNudge{
    0%,72%,100%{transform:translate3d(0,-1px,0)}
    82%{transform:translate3d(3px,-1px,0)}
    90%{transform:translate3d(1px,-1px,0)}
  }
  @keyframes sdDockQuoteSoftGlow{
    0%,62%,100%{background-color:#fff;box-shadow:0 0 0 0 rgba(34,197,94,0)}
    76%{background-color:var(--sd-dock-green-tint);box-shadow:0 0 0 3px rgba(34,197,94,.055)}
  }
}

@media (max-width:360px){
  .sd-mobile-action-dock__item{min-height:62px;padding-inline:4px}
  .sd-mobile-action-dock__label{font-size:10.5px}
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote{
    margin-inline:8px;padding-inline:13px;gap:9px
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__quote-copy,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__quote-copy{
    gap:8px
  }
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__label,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote .sd-mobile-action-dock__label{
    font-size:13px
  }
}

@media (prefers-reduced-motion:reduce){
  .sd-mobile-action-dock,
  .sd-mobile-action-dock__grid,
  .sd-mobile-action-dock__grid::before,
  .sd-mobile-action-dock__grid::after,
  .sd-mobile-action-dock__item,
  .sd-mobile-action-dock__icon,
  .sd-mobile-action-dock__arrow{
    transition:none!important;
    animation:none!important
  }
}

/* ==========================================================
   v1.18.0 — slow cinematic 3 → 2 morph
   Small quote action fades out; expanded CTA grows from the
   same visual origin while Oferta exits softly to the left.
   ========================================================== */
@media (max-width:820px){
  .sd-mobile-action-dock__item--quote{
    isolation:isolate;
  }

  /* Two independent visual layers share the same interactive link. */
  .sd-mobile-action-dock__quote-mini,
  .sd-mobile-action-dock__quote-expanded{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    will-change:transform,opacity;
  }

  .sd-mobile-action-dock__quote-mini{
    flex-direction:column;
    gap:4px;
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    transition:
      opacity .30s ease,
      transform .54s cubic-bezier(.16,1,.3,1);
  }

  .sd-mobile-action-dock__quote-expanded{
    flex-direction:row;
    gap:12px;
    padding:0 18px;
    opacity:0;
    transform-origin:42% 50%;
    transform:translate3d(-12px,0,0) scaleX(.66) scaleY(.90);
    transition:
      opacity .38s ease .20s,
      transform .78s cubic-bezier(.16,1,.3,1) .08s;
  }

  /* Triple state: only the compact visual exists to the eye. */
  .sd-mobile-action-dock:not(.is-offer-context):not([data-page-context="kontakt"])
  .sd-mobile-action-dock__quote-expanded{
    opacity:0;
    transform:translate3d(-12px,0,0) scaleX(.66) scaleY(.90);
  }

  .sd-mobile-action-dock:not(.is-offer-context):not([data-page-context="kontakt"])
  .sd-mobile-action-dock__quote-mini{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }

  /* Compact state: miniature disappears first, expanded CTA blooms from it. */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-mini,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-mini{
    opacity:0;
    transform:translate3d(-7px,0,0) scale(.88);
    transition-delay:0s;
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-expanded{
    opacity:1;
    transform:translate3d(0,0,0) scaleX(1) scaleY(1);
  }

  /* The link frame itself expands after the old compact content starts fading. */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--quote,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__item--quote{
    overflow:visible;
    transition:
      background-color .32s ease,
      border-color .42s ease,
      box-shadow .42s ease,
      opacity .32s ease,
      transform .78s cubic-bezier(.16,1,.3,1),
      padding .72s cubic-bezier(.16,1,.3,1),
      margin .72s cubic-bezier(.16,1,.3,1),
      min-height .42s ease;
  }

  /* Oferta leaves independently to the left, slightly ahead of the CTA bloom. */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__item--offer{
    opacity:0;
    transform:translate3d(-28px,0,0) scale(.90);
    transition:
      opacity .34s ease,
      transform .62s cubic-bezier(.16,1,.3,1),
      padding .54s ease;
  }

  /* Contact remains visually anchored while the left two actions transform. */
  .sd-mobile-action-dock__item--contact{
    transition:
      background-color .28s ease,
      opacity .28s ease,
      transform .62s cubic-bezier(.16,1,.3,1),
      min-height .42s ease;
  }

  /* Premium finish: the expanded CTA settles with a soft one-shot highlight. */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded{
    animation:sdDockMorphSettle .92s cubic-bezier(.16,1,.3,1) both;
  }

  @keyframes sdDockMorphSettle{
    0%{filter:saturate(.96);}
    62%{filter:saturate(1.08);}
    100%{filter:saturate(1);}
  }

  /* Existing selectors targeted direct icon/copy children. Re-target expanded layer. */
  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__icon,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__icon{
    width:24px;
    height:24px;
    flex:0 0 24px;
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__quote-copy,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__quote-copy{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-width:0;
    flex:1 1 auto;
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__label,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__label{
    font-size:14px;
    line-height:1;
    font-weight:800;
    text-align:left;
  }

  .sd-mobile-action-dock.is-offer-context .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__arrow,
  .sd-mobile-action-dock[data-page-context="kontakt"] .sd-mobile-action-dock__quote-expanded .sd-mobile-action-dock__arrow{
    display:inline-flex!important;
  }

  /* Keep the compact visual arrow-free by construction. */
  .sd-mobile-action-dock__quote-mini .sd-mobile-action-dock__arrow{
    display:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .sd-mobile-action-dock__quote-mini,
  .sd-mobile-action-dock__quote-expanded{
    transition:none!important;
  }
}
