/* Century 2000 – animace (vstupní efekty, hover, ukazatel posunu). Vypnuté při prefers-reduced-motion. */

.scroll-progress { position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: 2px; transform: scaleX(0); transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--bronze-700), var(--gold-300)); pointer-events: none; }

.site-header { transition: box-shadow .35s ease, background-color .35s ease; }
.site-header.is-scrolled { box-shadow: 0 6px 24px rgba(42, 38, 34, .08); }

@media (prefers-reduced-motion: no-preference) {
  /* Vstup obsahu při posunu stránky */
  .js-anim [data-reveal] { opacity: 0; transform: translateY(26px);
    transition: opacity .85s cubic-bezier(.2, .7, .2, 1), transform .85s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--d, 0ms); will-change: opacity, transform; }
  .js-anim [data-reveal="zoom"] { transform: scale(.96); }
  .js-anim [data-reveal].is-in { opacity: 1; transform: none; }

  /* Linka pod nadpisem se „vykreslí“ */
  .js-anim .rule { transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s cubic-bezier(.2, .7, .2, 1) .25s; }
  .js-anim .is-in .rule, .js-anim .rule.is-in, .js-anim .hero-in .rule { transform: scaleX(1); }

  /* Úvod stránky: postupný náběh textu a pomalý „dech“ fotografie */
  .js-anim .hero-in > * { animation: c2-rise .9s cubic-bezier(.2, .7, .2, 1) both; }
  .js-anim .hero-in > *:nth-child(1) { animation-delay: .05s; }
  .js-anim .hero-in > *:nth-child(2) { animation-delay: .18s; }
  .js-anim .hero-in > *:nth-child(3) { animation-delay: .31s; }
  .js-anim .hero-in > *:nth-child(4) { animation-delay: .44s; }
  .js-anim .hero-in > *:nth-child(5) { animation-delay: .57s; }
  .js-anim .hero-in > *:nth-child(6) { animation-delay: .7s; }
  .js-anim .hero-img { animation: c2-breathe 22s ease-out both; transform-origin: 60% 50%; will-change: transform; }

  /* Tlačítka a odkazy */
  .btn-primary, .btn-secondary { transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease; }
  .btn-primary:hover, .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(133, 102, 64, .22); }
  .btn-primary:active, .btn-secondary:active { transform: translateY(0); box-shadow: none; }
  .link-arrow { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%;
    background-size: 0 1px; text-decoration: none; padding-bottom: 3px; transition: background-size .35s ease, color .2s ease; }
  .link-arrow:hover, .link-arrow:focus-visible { background-size: 100% 1px; }

  /* Karty */
  .clanky-card, .reference-card, .vzorkovniky__item, .service-card { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease; }
  .clanky-card:hover, .reference-card:hover, .vzorkovniky__item:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(42, 38, 34, .1); border-color: var(--sand-200); }
  .service-card:hover { transform: translateY(-4px); }
  .realizace-galerie__grid li { transition: transform .35s ease, box-shadow .35s ease; }
  .realizace-galerie__grid li:hover { transform: scale(1.02); box-shadow: 0 14px 30px rgba(42, 38, 34, .16); position: relative; z-index: 1; }

  /* Menu Služby: plynulé rozbalení a postupný náběh karet */
  .site-header__mega { animation: c2-drop .35s cubic-bezier(.2, .7, .2, 1) both; }
  .site-header__mega-item { animation: c2-rise .5s cubic-bezier(.2, .7, .2, 1) both; }
  .site-header__mega-inner > :nth-child(2) .site-header__mega-item, .site-header__mega-inner > .site-header__mega-item:nth-child(2) { animation-delay: .05s; }
  .site-header__mega-inner > .site-header__mega-item:nth-child(3) { animation-delay: .1s; }
  .site-header__mega-inner > .site-header__mega-item:nth-child(4) { animation-delay: .15s; }
  .site-header__mega-inner > .site-header__mega-item:nth-child(5) { animation-delay: .2s; }
  .site-header__mega-media { overflow: hidden; }
  .site-header__mega-media img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
  .site-header__mega-item:hover .site-header__mega-media img, .site-header__mega-item:focus-visible .site-header__mega-media img { transform: scale(1.08); }
  .site-header__mega-title { transition: color .25s ease; }
  .site-header__mega-item:hover .site-header__mega-title { color: var(--bronze-700); }

  /* Ikony v „Pro koho šijeme“ */
  .pro-koho-icon, .index-pro-koho__icon svg { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
  li:hover > svg, div:hover > svg[width="48"] { transform: translateY(-3px) rotate(-3deg); }
  svg[width="48"] { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
  svg[width="48"] path, svg[width="48"] rect, svg[width="48"] circle { stroke-dasharray: 220; stroke-dashoffset: 0; }
  .js-anim [data-reveal] svg[width="48"] path, .js-anim [data-reveal] svg[width="48"] rect, .js-anim [data-reveal] svg[width="48"] circle { stroke-dashoffset: 220; transition: stroke-dashoffset 1.6s ease .3s; }
  .js-anim [data-reveal].is-in svg[width="48"] path, .js-anim [data-reveal].is-in svg[width="48"] rect, .js-anim [data-reveal].is-in svg[width="48"] circle { stroke-dashoffset: 0; }
}

@keyframes c2-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes c2-drop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes c2-breathe { from { transform: scale(1.09); } to { transform: scale(1); } }

/* Ikony „Pro koho šijeme“: větší a výraznější */
svg[width="48"] { width: 60px; height: 60px; stroke-width: 1.4; }

/* Paralaxa úvodních fotek (animace.js): rámeček ořízne přesah, fotka je o 10 % větší, aby posun neodkryl okraj. Jen na počítači. */
.index-hero__media, .service-hero__box, .clanek-hero__media { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) and (min-width: 1024px) {
  .js-anim .index-hero__img, .js-anim .service-hero__img, .js-anim .clanek-hero__img { scale: 1.1; }
}
