/* Alcedo RDP stranice (product, download i upute). Ucitava se samo na njima, ne kroz master.css.
   Header, footer i product box prate temu sitea. Tijelo stranica (.alc) i heroji su tamnoplavi, u TW v4
   paleti: u tamnoj temi iste vrijednosti kao --ts4-* u product4.css, u svijetloj nijansu svjetlije. */

/* Svijetla tema: pozadine su TW v4 paleta s 9 % vise svjetline (HSL), da se teme vidljivo razlikuju.
   Beam i muted su zato malo svjetliji, da tekst i na svjetlijoj pozadini ima kontrast barem 4.5:1. */
.alc, .alc-hero, .alc-dl-hero {
    --ts4-dark-top: #174485;
    --ts4-dark: #11366d;
    --ts4-dark-deep: #0d2a58;
    --ts4-accent: #4c8dff;
    --ts4-accent-hover: #2f74ef;
    --ts4-beam: #9dc8ff;
    --ts4-on-dark: #b9cfee;
    --ts4-on-dark-strong: #e8f0fc;
    --d-muted: #a3bbdd;
    --ts4-panel-border: rgba(185, 207, 238, .22);
    --ts4-panel-rule: rgba(185, 207, 238, .16);
    --ts4-panel-bg: rgba(255, 255, 255, .04);
    /* kartica u punoj boji (--ts4-panel-bg na --ts4-dark) i tamnija ploha u njoj (--ts4-dark-deep, 55 %) */
    --alc-card: #1e3e6f;
    --alc-panel: rgba(13, 42, 88, .55);
    /* zadnja boja hero gradijenta (--tw-bg-hero-gradient-narrow): tamno tijelo krece od nje */
    --alc-hero-end: #113d81;
    --alc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    --alc-btn: -apple-system, "Nunito", sans-serif;
}

/* Tamna tema: boje kakve su bile od pocetka, a hero na downloadu je tamni hero sitea. */
[data-theme="dark"] .alc, [data-theme="dark"] .alc-hero, [data-theme="dark"] .alc-dl-hero {
    --ts4-dark-top: #10305e;
    --ts4-dark: #0b2245;
    --ts4-dark-deep: #071730;
    --ts4-beam: #7fb4ff;
    --d-muted: #8fa9cf;
    --alc-card: #142a4b;
    --alc-panel: rgba(7, 23, 48, .55);
    --alc-hero-end: #121b2f;
}

.alc {
    background-color: var(--ts4-dark);
    color: #fff;
    font-size: 16px;
    line-height: 1.7;
}

.alc *, .alc *::before, .alc *::after { box-sizing: border-box; }
.alc :where(h1, h2, h3, h4, p, figure, dl, dt, dd, ul, ol) { margin: 0; }
.alc :where(h1, h2, h3, h4) { color: #fff; }
.alc a { color: var(--ts4-beam); text-decoration: underline; text-underline-offset: 2px; }
.alc a:hover { color: #fff; }
.alc a:focus { outline: 0; }
.alc a:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: 3px; }
.alc code { font-family: var(--alc-mono); }

.alc-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.alc-h2 { font-size: clamp(34px, 2.2vw + 14px, 46px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.alc-lede { color: var(--ts4-on-dark); font-size: 20px; line-height: 1.6; }
.alc-tag {
    display: inline-block; padding: 4px 10px; border-radius: 999px;
    background: rgba(76, 141, 255, .16); color: var(--ts4-beam);
    font-size: 11px; font-weight: 700; letter-spacing: .05em; line-height: 1.3; text-transform: uppercase;
}

/* Naslov lijevo, sadrzaj desno (FAQ, kontakt) */
.alc-split { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 64px; padding-top: 112px; padding-bottom: 112px; }
.alc-split__head { flex: 1 1 320px; min-width: 0; }
.alc-split__body { flex: 1.7 1 520px; min-width: 0; }

/* ---------- Download: hero slika ---------- */

.alc-dl-art { position: relative; flex: none; width: 342px; height: 266px; }
.alc-dl-art__squares { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.alc-dl-art__tile {
    position: absolute; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px;
    border: 1px solid rgba(255, 255, 255, .3); border-radius: 8px;
    background: linear-gradient(180deg, #5f97d7, #3d6eae); box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .7);
}
.alc-dl-art__tile--desktop { top: 64px; left: 96px; }
.alc-dl-art__tile--laptop { top: 124px; left: 160px; }
.alc-dl-art__bird { position: absolute; top: 22px; left: 104px; width: 58px; height: 59px; }

/* ---------- Download: tamna varijanta komponente iz ts-download.css ---------- */

/* Hero je uvod u download, pa sekcija nema svoj naslov: kartica prelazi preko donjeg ruba heroja
   (hero za to ima vise mjesta dolje) i odvaja ga od tamnog tijela. */
.alc-dl-hero { padding-bottom: 104px; }
/* Hero je hero sitea (.tw-slider__tw-background); u svijetloj temi ide u istu svjetliju nijansu kao tijelo. */
html:not([data-theme="dark"]) .alc-dl-hero {
    --tw-bg-hero: var(--alc-hero-end);
    --tw-bg-hero-gradient-narrow: radial-gradient(circle at top right, #0099f87b 0%, var(--alc-hero-end) 20%);
}
.tsd.tsd--alc {
    --tsd-accent: var(--ts4-accent);
    --tsd-accent-hover: var(--ts4-accent-hover);
    --tsd-beam: var(--ts4-beam);
    padding: 0 0 72px;
    background: linear-gradient(180deg, var(--alc-hero-end) 0, var(--ts4-dark) 360px);
    color: #fff;
    line-height: 1.7;
    scroll-margin-top: 218px; /* navbar + dio kartice iznad sekcije */
}
.tsd--alc .tsd-wrap { max-width: 1180px; }
/* puna boja (kao --ts4-panel-bg na --ts4-dark), da se kroz karticu ne vidi gradijent heroja */
.tsd--alc .tsd-card { position: relative; margin-top: -88px; padding: 28px; border-color: var(--ts4-panel-border); background: var(--alc-card); box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .75); }
.tsd--alc .tsd-body { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.tsd--alc .tsd-btn { min-height: 48px; gap: 10px; }

.tsd--alc .tsd-pl { padding: 16px; border-color: var(--ts4-panel-border); background: rgba(255, 255, 255, .03); color: #fff; font-size: 16px; }
.tsd--alc .tsd-pl:hover { border-color: var(--ts4-beam); }
.tsd--alc .tsd-pl.is-on { border-color: transparent; background: rgba(76, 141, 255, .16); box-shadow: inset 0 0 0 2px var(--ts4-accent); }
.tsd--alc .tsd-pl-ic { color: var(--ts4-beam); }
.tsd--alc .tsd-pl-t span { color: var(--ts4-on-dark); opacity: 1; }
.tsd--alc .tsd-you { background: var(--ts4-beam); color: var(--ts4-dark-deep); font-weight: 700; }

.tsd--alc .tsd-panel { min-height: 0; padding: 28px; border: 1px solid var(--ts4-panel-rule); background: var(--alc-panel); }
.tsd--alc .tsd-alc { align-items: flex-start; padding-bottom: 24px; border-bottom: 1px solid var(--ts4-panel-rule); }
.tsd--alc .tsd-alc-ic { width: 64px; height: 64px; }
.tsd--alc .tsd-h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 6px; font-size: 18px; font-weight: 700; line-height: 1.4; }
.tsd--alc .tsd-v { color: var(--ts4-on-dark); }
.tsd--alc .tsd-lbl { background: rgba(76, 141, 255, .18); color: var(--ts4-beam); font-size: 13px; }
.tsd--alc .tsd-p { color: var(--ts4-on-dark); }
.tsd--alc .tsd-plus { margin: 0; }
.tsd--alc .tsd-plus li { margin-bottom: 8px; }
.tsd--alc .tsd-plus li::before { color: var(--ts4-beam); }

.tsd--alc .tsd-lx { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px 32px; align-items: start; }
.tsd--alc .tsd-pick-l { color: var(--ts4-on-dark-strong); }
.tsd--alc .tsd-chips { flex-direction: column; flex-wrap: nowrap; }
.tsd--alc .tsd-chips--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tsd--alc .tsd-chip { flex-direction: row; align-items: center; gap: 12px; width: 100%; padding: 10px 14px; border-color: var(--ts4-panel-border); background: rgba(255, 255, 255, .03); color: #fff; }
.tsd--alc .tsd-chip span { opacity: 1; }
.tsd--alc .tsd-chip:hover { border-color: var(--ts4-beam); }
.tsd--alc .tsd-chip.is-on { border-color: transparent; background: rgba(76, 141, 255, .16); box-shadow: inset 0 0 0 2px var(--ts4-accent); }
.tsd--alc .tsd-chip-t { display: flex; flex-direction: column; min-width: 0; }
.tsd--alc .tsd-chip-t span { color: var(--ts4-on-dark); }
.tsd--alc .d-dot { display: flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px; border: 2px solid var(--d-muted); border-radius: 50%; }
.tsd--alc .tsd-chip.is-on .d-dot { border-color: var(--ts4-beam); }
.tsd--alc .tsd-chip.is-on .d-dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ts4-beam); }

.tsd--alc .tsd-hint { margin: 14px 0 0; color: var(--d-muted); line-height: 1.6; opacity: 1; }
.tsd--alc .tsd-hint code { padding: 1px 6px; border-radius: 4px; background: rgba(255, 255, 255, .08); color: #fff; font-size: 13px; }
.tsd--alc .tsd-hint--none { margin-top: 24px; color: #fff; }
.tsd--alc .tsd-dl { margin-top: 24px; }
.tsd--alc .tsd-dl-meta { color: var(--ts4-on-dark); font-family: var(--alc-mono); font-size: 13px; opacity: 1; }
.tsd--alc .tsd-link { text-decoration: underline; }
.tsd--alc .tsd-btn, .tsd--alc .tsd-btn:hover { color: #fff; text-decoration: none; }
.tsd--alc .tsd-sub { margin-top: 24px; color: var(--ts4-on-dark-strong); font-size: 14px; font-weight: 700; }
.tsd--alc .tsd-cmd { margin-top: 10px; padding: 12px 12px 12px 16px; border: 1px solid var(--ts4-panel-border); border-radius: 8px; background: var(--ts4-dark-deep); }
.tsd--alc .tsd-cmd code { color: #e2e8f0; font-size: 13px; line-height: 1.7; }
.tsd--alc .tsd-copy { padding: 6px 14px; border-radius: 6px; }
.tsd--alc .tsd-links { gap: 4px 24px; margin-top: 16px; font-weight: 700; }
.tsd--alc .tsd-legacy { margin-top: 24px; padding-top: 18px; border-top-color: var(--ts4-panel-rule); color: var(--d-muted); line-height: 1.6; }
.tsd--alc .tsd-legacy strong { display: block; margin-bottom: 4px; color: #fff; }
.tsd--alc .tsd-pl:focus-visible, .tsd--alc .tsd-chip:focus-visible, .tsd--alc .tsd-copy:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: 3px; }

/* ---------- Download: sistemski zahtjevi i "Optional extra" ---------- */

.alc-req { padding: 24px 0 72px; }
.alc-req__title { margin-bottom: 28px; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.alc-req__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 0 32px; }
.alc-req__list > div { padding: 18px 0 22px; border-top: 1px solid var(--ts4-panel-rule); }
.alc-req__list dt { margin-bottom: 8px; color: var(--ts4-beam); font-size: 13px; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.alc-req__list dd { color: var(--ts4-on-dark); }

.alc-extra { padding: 8px 0 112px; }
.alc-extra__box { display: flex; flex-wrap: wrap; align-items: center; gap: 32px 72px; }
.alc-extra__copy { display: flex; flex: 1 1 420px; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.alc-extra__copy p { color: var(--ts4-on-dark); }
.alc-extra__title { font-size: 22px; font-weight: 700; line-height: 1.3; }
.alc-extra__list { display: flex; flex: 1 1 380px; flex-direction: column; gap: 12px; min-width: 0; margin: 0; padding: 0; list-style: none; }
/* Kartica-link kao .alc-help__card: ikona proizvoda, ime, sto radi i verzija servera, strelica */
.alc .alc-extra__card {
    display: flex; align-items: center; gap: 16px; padding: 14px 20px 14px 14px;
    border: 1px solid var(--ts4-panel-border); border-radius: 12px; background: var(--ts4-panel-bg);
    color: #fff; text-decoration: none; transition: border-color .15s ease, background-color .15s ease;
}
.alc .alc-extra__card:hover { border-color: var(--ts4-beam); background-color: rgba(127, 180, 255, .06); color: #fff; }
.alc-extra__card img { flex: none; width: 44px; height: 44px; border-radius: 10px; box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .8); }
.alc-extra__t { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; line-height: 1.45; }
.alc-extra__t strong { font-size: 16px; }
.alc-extra__t span { color: var(--d-muted); font-size: 14px; }
.alc-extra__go { flex: none; color: var(--ts4-beam); transition: transform .15s ease; }
.alc-extra__card:hover .alc-extra__go { transform: translateX(3px); }

/* ---------- FAQ (faq-toggle.js: jedno pitanje otvoreno) ---------- */

.alc-faq { background: var(--ts4-dark-deep); scroll-margin-top: 130px; }
.alc .tw-faq { border-top: 1px solid var(--ts4-panel-rule); }
.alc .tw-faq-item { border-bottom: 1px solid var(--ts4-panel-rule); }
.alc .tw-faq-q {
    position: relative; display: block; width: 100%; padding: 20px 52px 20px 0; border: 0; background: none;
    color: #fff; font-size: 17px; font-weight: 700; line-height: 1.45; text-align: left; cursor: pointer;
}
.alc .tw-faq-q::after {
    content: "+"; position: absolute; top: 50%; right: 0; width: 28px; height: 28px; margin-top: -14px;
    border: 1px solid var(--ts4-panel-border); border-radius: 50%;
    color: var(--ts4-beam); font-size: 18px; font-weight: 400; line-height: 26px; text-align: center;
}
.alc .tw-faq-q[aria-expanded="true"]::after { content: "\2212"; }
.alc .tw-faq-q:focus { outline: 0; }
.alc .tw-faq-q:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: 4px; }
/* Zatvoreni odgovori su i skriveni (visibility), da ih citaci ekrana i Tab ne nalaze. */
.alc .tw-faq-a { max-height: 0; overflow: hidden; visibility: hidden; transition: max-height .3s ease, visibility 0s linear .3s; }
.alc .tw-faq-a.open { max-height: 480px; visibility: visible; transition: max-height .3s ease; }
.alc .tw-faq-a p { padding: 0 52px 22px 0; color: var(--ts4-on-dark); }
.alc .tw-faq-a code { padding: 1px 6px; border-radius: 4px; background: rgba(255, 255, 255, .08); color: #fff; font-size: 13px; }

/* ---------- Kontakt i help ---------- */

.alc-contact { scroll-margin-top: 130px; }
.alc-contact__copy { display: flex; flex-direction: column; gap: 20px; }
.alc-contact__lede { color: var(--ts4-on-dark); font-size: 18px; line-height: 1.6; }
.alc-contact__cards { display: flex; flex-direction: column; gap: 14px; }
.alc-help { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.alc .alc-help__card { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; border: 1px solid var(--ts4-panel-border); border-radius: 10px; text-decoration: none; transition: border-color .15s ease; }
.alc .alc-help__card:hover { border-color: var(--ts4-beam); }
.alc-help__card--wide { grid-column: 1 / -1; }
.alc-help__ic { flex: none; margin-top: 1px; color: var(--ts4-beam); }
.alc-help__card > span { display: flex; flex-direction: column; gap: 2px; }
.alc-help__card strong { color: var(--ts4-beam); }
.alc-help__card span span { color: var(--ts4-on-dark); font-size: 14px; line-height: 1.55; }
.alc .alc-mail { display: flex; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--ts4-panel-border); border-radius: 12px; background: var(--ts4-panel-bg); color: #fff; text-decoration: none; transition: border-color .15s ease; }
.alc .alc-mail:hover { border-color: var(--ts4-beam); color: #fff; }
.alc-mail__ic { display: flex; flex: none; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 10px; background: linear-gradient(180deg, #5c94d4, #3f74b0); }
.alc-mail__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.alc-mail__t span { color: var(--ts4-on-dark); font-size: 14px; }
.alc-mail__t strong { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }

/* ---------- Product: hero s karticom proizvoda ---------- */

.alc-hero { background: linear-gradient(180deg, var(--ts4-dark-top) 0%, var(--ts4-dark) 55%, var(--ts4-dark-deep) 100%); color: #fff; }
.alc-hero__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 56px 64px; max-width: 1380px; margin: 0 auto; padding: 96px 40px; }
.alc-hero__copy { display: flex; flex: 999 1 560px; flex-direction: column; gap: 24px; min-width: 0; max-width: 780px; }
.alc-hero__tag {
    align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(76, 141, 255, .18);
    color: var(--ts4-beam); font-size: 11px; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase;
}
.alc-hero__title { margin: 0; color: #fff; font-size: clamp(28px, 1.2vw + 18px, 34px); font-weight: 700; letter-spacing: -.01em; line-height: 1.25; text-wrap: balance; }
.alc-hero__lede { max-width: 680px; margin: 0; color: var(--ts4-on-dark-strong); font-size: clamp(17px, .5vw + 13px, 20px); line-height: 1.6; }
.alc-hero__text { max-width: 680px; margin: 0; color: var(--ts4-on-dark); line-height: 2; }
.alc-hero__works { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.alc-hero__works > span { font-size: 14px; font-weight: 700; line-height: 1.5; }
.alc-hero__works ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; color: var(--ts4-on-dark-strong); font-size: 14px; line-height: 1.4; }
.alc-hero__works li { padding: 6px 12px; border: 1px solid var(--ts4-panel-border); border-radius: 999px; }
.alc-hero__aside { display: flex; flex: 1 1 340px; justify-content: center; min-width: 0; max-width: 400px; }
/* Kvadratici iza kartice, kao u heroju ostalih proizvoda (.tw-slider--align u master.css): ista slika, tek od
   1200px, i na istom mjestu u odnosu na karticu kao na TSPrintu. Desno izlaze iz stranice, pa hero reze visak. */
@media (min-width: 1200px) {
    .alc-hero { overflow: hidden; }
    .alc-hero__aside { position: relative; }
    .alc-hero__aside::before {
        content: ""; position: absolute; top: -108px; left: 46px; width: 421px; height: 425px;
        background: url('/assets/img/illustration.png') no-repeat; pointer-events: none;
    }
}

/* Kartica: papir je pozadinska slika kao na TS stranicama (u tamnoj temi ga master.css preboji kroz
   ::before), ikona i ptica su zasebni elementi. Papir pocinje 33px od vrha slike, 22px od lijevog ruba. */
.alc-box { position: relative; display: flex; justify-content: center; width: 400px; max-width: 100%; min-height: 473px; padding: 73px 0 36px; background-position: top; background-repeat: no-repeat; color: var(--tw-text-body); text-align: center; }
.alc-box > .alc-box__badge { position: absolute; top: 1px; left: 50%; width: 64px; height: 64px; margin-left: -32px; border: 3px solid #fff; border-radius: 50%; background-color: #fff; }
[data-theme="dark"] .alc-box > .alc-box__badge { border-color: #3d4654; background-color: #3d4654; }
.alc-box > .alc-box__bird { position: absolute; top: -37px; left: 48px; width: 76px; height: 77px; overflow: visible; }
.alc-box__in { display: flex; flex-direction: column; width: 286px; max-width: calc(100% - 68px); }
.alc-box__in p { margin: 0; padding: 12px 0 16px; border-top: 1px solid rgba(0, 0, 0, .1); font-size: 16px; line-height: 1.5; }
.alc-box__in p:first-child { padding-top: 0; border-top: 0; }
[data-theme="dark"] .alc-box__in p { border-top-color: rgba(255, 255, 255, .12); }
[data-theme="dark"] .alc-box__in p:first-child { border-top: 0; }
.alc-box__btn { min-height: 65px; text-align: left; }
.alc-box__btn + .alc-box__btn { min-height: 69px; margin-top: 8px; }

/* ---------- Product: funkcije ---------- */

.alc-intro { display: flex; flex-direction: column; gap: 20px; padding-top: 112px; padding-bottom: 32px; }
.alc-intro > *, .alc-intro__in { max-width: 760px; }
.alc-intro__in { display: flex; flex-direction: column; gap: 20px; }
.alc-chapter { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 64px; padding-top: 56px; padding-bottom: 56px; }
.alc-chapter--reverse { flex-direction: row-reverse; }
.alc-chapter__copy { display: flex; flex: 1 1 380px; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; }
.alc-chapter__copy--loose { gap: 18px; }
.alc-chapter__title { font-size: clamp(28px, 1.4vw + 14px, 36px); font-weight: 700; letter-spacing: -.015em; line-height: 1.15; }
.alc-chapter__copy > p, .alc-webcam > p { color: var(--ts4-on-dark); }
.alc .alc-chapter__note { color: var(--d-muted); font-size: 14px; line-height: 1.55; }
.alc-chapter__visual { flex: 1.4 1 480px; min-width: 0; }
.alc-chapter__visual svg, .alc-webcam svg { display: block; width: 100%; height: auto; overflow: visible; }
.alc-ill-label { fill: #b9cfee; font-family: Montserrat, system-ui, sans-serif; font-size: 14px; font-weight: 600; }
.alc-built { padding: 5px 12px; border: 1px solid rgba(127, 180, 255, .45); border-radius: 999px; background: rgba(76, 141, 255, .14); color: var(--ts4-beam); font-size: 14px; font-weight: 700; line-height: 1.3; }
.alc-checklist { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.alc-checklist li { display: flex; align-items: center; gap: 12px; }
.alc-checklist svg { flex: none; color: var(--ts4-beam); }
.alc-webcam { display: flex; flex-direction: column; align-items: center; gap: 16px; padding-top: 72px; padding-bottom: 56px; text-align: center; }
.alc-webcam svg { max-width: 900px; margin-top: 32px; }
.alc-band-wrap { padding-bottom: 112px; }
.alc-band { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; padding: 48px 0; border-top: 1px solid var(--ts4-panel-rule); border-bottom: 1px solid var(--ts4-panel-rule); }
.alc-band h3 { flex: 1 1 300px; font-size: 24px; font-weight: 700; line-height: 1.3; }
.alc-band p { flex: 1.6 1 420px; color: var(--ts4-on-dark); }
.alc .alc-band a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; text-decoration: none; }

/* ---------- Product: film (alcedo.js) ---------- */

.alc-film { background: var(--ts4-dark-deep); scroll-margin-top: 130px; }
.alc-film__in { display: flex; flex-direction: column; gap: 48px; padding-top: 112px; padding-bottom: 112px; }
.alc-film__layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 56px; }
.alc-film__stage { position: relative; flex: 1.7 1 560px; min-width: 0; }
.alc-film__bird { position: absolute; z-index: 1; top: -70px; right: 8%; width: 76px; height: 77px; overflow: visible; }
.alc-film__player { position: relative; overflow: hidden; border: 1px solid var(--ts4-panel-border); border-radius: 12px; background: var(--ts4-dark); box-shadow: 0 18px 40px -24px rgba(0, 0, 0, .7); }
.alc-film__video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: var(--ts4-dark); }
/* Gumb pokriva cijeli poster; ikona i natpis su dolje lijevo, natpis na tamnoj podlozi zbog citljivosti. */
.alc-film__play { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; padding: 0 0 22px 24px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.alc-film__play[hidden] { display: none; }
.alc-film__play:focus { outline: 0; }
.alc-film__play:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: -6px; }
.alc-film__play-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ts4-accent); box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .6); transition: transform .15s ease, background-color .15s ease; }
.alc-film__play-icon svg { margin-left: 3px; }
.alc-film__play:hover .alc-film__play-icon { background: var(--ts4-accent-hover); transform: scale(1.06); }
.alc-film__play-label { display: inline-flex; align-items: center; gap: 12px; min-height: 40px; margin-left: 14px; padding: 0 16px; border-radius: 999px; background: rgba(6, 15, 28, .78); font-weight: 700; }
.alc-film__play-length { color: var(--ts4-on-dark); font-weight: 400; font-variant-numeric: tabular-nums; }
.alc-film__summary { display: flex; flex: 1 1 320px; flex-direction: column; gap: 8px; min-width: 0; }
.alc-film__summary h3 { padding-bottom: 8px; font-size: 18px; font-weight: 700; line-height: 1.4; }
.alc-film__chapters { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--ts4-panel-rule); }
.alc-film__chapter { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 4px 12px; padding: 12px 0; border-top: 1px solid var(--ts4-panel-rule); }
.alc-film__time, .alc-film__seek { color: var(--ts4-beam); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.alc-film__seek { align-self: start; margin: -4px 0 0 -6px; padding: 2px 6px; border: 0; border-radius: 6px; background: transparent; line-height: 1.7; text-align: left; cursor: pointer; }
.alc-film__seek:hover { background: rgba(127, 180, 255, .12); color: #fff; }
.alc-film__seek:focus { outline: 0; }
.alc-film__seek:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: 1px; }
.alc-film__chapter-body { display: flex; flex-direction: column; gap: 2px; }
.alc-film__chapter-body strong { font-size: 15px; line-height: 1.4; }
.alc-film__chapter-body span { color: var(--ts4-on-dark); font-size: 14px; line-height: 1.55; }

/* ---------- Product: download ---------- */

.alc-download { scroll-margin-top: 130px; }
.alc-download__in { display: flex; flex-direction: column; gap: 24px; padding-top: 112px; padding-bottom: 112px; }
.alc-download__head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
/* Ptica sjedi na kraju naslova, i u prelomljenom naslovu odmah iza zadnje rijeci. Naslov je inline, pa mu je
   okvir samo tekst i ptica ni u letu ne ulazi u njega (alcedo-flight.js je tamo prozirnija). Ptica je visa od
   retka: negativna gornja margina ne da retku da naraste. */
.alc-download__title { text-wrap: balance; }
.alc-download__title > .alc-h2 { display: inline; }
.alc-download__bird { display: inline-block; width: 64px; height: 65px; margin: -36px 0 0 12px; overflow: visible; vertical-align: baseline; }
.alc-platforms { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 24px; }
.alc-help.alc-help--wide { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 24px; }
.alc-platform { display: flex; flex-direction: column; gap: 20px; padding: 36px; border: 1px solid var(--ts4-panel-border); border-radius: 12px; background: var(--ts4-panel-bg); }
.alc-platform__head { display: flex; flex-direction: column; gap: 8px; }
.alc-platform__head h3 { font-size: 30px; font-weight: 700; line-height: 1.2; }
.alc-platform__head p { color: var(--ts4-on-dark); }
.alc-platform__facts > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--ts4-panel-rule); }
.alc-platform__facts > div:last-child { border-bottom: 1px solid var(--ts4-panel-rule); }
.alc-platform__facts dt { color: var(--d-muted); font-weight: 400; }
.alc-platform__actions { margin-top: auto; }
.alc .alc-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 24px;
    border-radius: 6px; background-color: var(--ts4-accent); color: #fff;
    font-family: var(--alc-btn); font-size: 16px; font-weight: 700; line-height: 1.2; text-decoration: none;
    transition: background-color .15s ease;
}
.alc .alc-btn:hover { background-color: var(--ts4-accent-hover); color: #fff; }
.alc .alc-btn:focus-visible { outline: 2px solid var(--ts4-beam); outline-offset: 4px; }
.alc-note { display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px; border: 1px solid rgba(127, 180, 255, .35); border-radius: 10px; background: rgba(76, 141, 255, .08); color: var(--ts4-on-dark-strong); font-size: 14px; line-height: 1.6; }
.alc-note svg { flex: none; margin-top: 2px; color: var(--ts4-beam); }

.alc-split--center { align-items: center; }
.alc-contact__cards--narrow { flex: 1 1 380px; }
.alc-split--center .alc-contact__copy { flex: 1 1 420px; }
.alc-contact__more { color: var(--d-muted); font-size: 14px; line-height: 1.6; }

.alc .alc-btn--ghost { border: 1px solid var(--ts4-panel-border); background-color: transparent; }
.alc .alc-btn--ghost:hover { border-color: var(--ts4-on-dark-strong); background-color: rgba(255, 255, 255, .06); }

/* ---------- Upute za Mac i Linux (AlcedoRdpHelp) ---------- */

.alc-doc-head { background: linear-gradient(180deg, var(--ts4-dark-top) 0%, var(--ts4-dark) 100%); }
.alc-doc__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 72px; padding-bottom: 56px; }
.alc-doc__head > * { max-width: 52rem; }
.alc-doc__bird { width: 64px; height: 65px; }
.alc .alc-doc__back { color: var(--ts4-beam); font-size: 14px; font-weight: 700; text-decoration: none; }
.alc .alc-doc__back:hover { color: #fff; text-decoration: underline; }
.alc-doc__title { font-size: clamp(28px, 1.2vw + 18px, 34px); font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.alc-doc__intro { color: var(--ts4-on-dark); }
.alc-doc__layout { display: grid; gap: 40px; padding-top: 48px; padding-bottom: 112px; border-top: 1px solid var(--ts4-panel-rule); }
.alc-doc__toc-title { margin-bottom: 12px; color: var(--d-muted); font-size: 14px; font-weight: 700; }
.alc-doc__toc ol { display: grid; gap: 2px; margin: 0; padding: 0 0 0 1.4em; color: var(--d-muted); font-size: 15px; }
.alc-doc__toc li { padding-left: 4px; }
.alc .alc-doc__toc a { display: block; padding: 4px 0; color: var(--ts4-on-dark); line-height: 1.4; text-decoration: none; }
.alc .alc-doc__toc a:hover { color: #fff; text-decoration: underline; }
.alc-doc__body { min-width: 0; max-width: 68ch; }
.alc-doc__body p { margin-bottom: 14px; color: var(--ts4-on-dark); }

.alc-help__topic { scroll-margin-top: 130px; }
.alc-help__topic + .alc-help__topic { margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--ts4-panel-rule); }
.alc-help__topic h2 { margin-bottom: 12px; font-size: clamp(24px, 1vw + 14px, 30px); font-weight: 700; letter-spacing: -.015em; line-height: 1.25; }
.alc-doc__body .alc-help__subtitle { color: var(--ts4-on-dark-strong); font-size: 18px; line-height: 1.6; }
.alc-help__section { margin-top: 36px; }
.alc-help__section h3 { margin-bottom: 12px; font-size: 20px; font-weight: 700; line-height: 1.4; }
.alc-help__options, .alc-help__keys { margin: 0 0 16px; }
.alc-help__options > div, .alc-help__keys > div { border-top: 1px solid var(--ts4-panel-rule); }
.alc-help__options > div:last-child, .alc-help__keys > div:last-child { border-bottom: 1px solid var(--ts4-panel-rule); }
.alc-help__options > div { padding: 12px 0; }
.alc-help__options dt { color: #fff; font-weight: 700; }
.alc-help__options dd { margin-top: 2px; color: var(--ts4-on-dark); }
.alc-help__keys > div { display: grid; grid-template-columns: minmax(6rem, 11rem) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 8px 0; }
.alc-help__keys dd { color: var(--ts4-on-dark); }
.alc-help__keys kbd {
    display: inline-block; padding: 2px 8px; border: 1px solid var(--ts4-panel-border); border-bottom-width: 2px; border-radius: 6px;
    background: var(--ts4-dark-deep); box-shadow: none; color: #fff; font: inherit; font-size: 15px; font-weight: 600; white-space: nowrap;
}
.alc-help__steps { display: grid; gap: 10px; margin: 0 0 16px; padding: 0; list-style: none; counter-reset: step; }
.alc-help__steps li { position: relative; padding-left: 40px; color: var(--ts4-on-dark); counter-increment: step; }
.alc-help__steps li::before {
    content: counter(step); position: absolute; top: .1em; left: 0; display: flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%; background: var(--ts4-accent); color: #fff; font-size: 13px; font-weight: 700;
}
.alc-doc__body .alc-help__tip { margin: 16px 0; padding: 14px 18px; border-left: 3px solid var(--ts4-beam); border-radius: 0 8px 8px 0; background: rgba(127, 180, 255, .08); color: #fff; }
.alc-doc__body .alc-help__tip--warning { border-left-color: #f2b45a; background: rgba(242, 180, 90, .08); }
.alc-help__tip strong { margin-right: 6px; }
.alc-doc__body .alc-help__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

@media (min-width: 992px) {
    .alc-doc__layout { grid-template-columns: 16rem minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); }
    /* ispod fiksnog navbara */
    .alc-doc__toc { position: sticky; top: 138px; align-self: start; }
}

/* ---------- Product: let vodenog kosa (alcedo-flight.js) ---------- */

/* Sloj za let je preko cijelog dokumenta: skripta racuna u koordinatama stranice. Vezan je za html, a
   ne za body (kao na starom siteu), jer body ovdje pocinje nize: kroz njega propada margina prvog elementa. */
html { position: relative; }
.alc-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.alc-flight { position: absolute; inset: 0; z-index: 40; overflow: hidden; pointer-events: none; }
.alc-flight[hidden] { display: none; }
.alc-flight__trail { position: absolute; top: 0; left: 0; overflow: visible; }
/* 140 x 116 px prikazuje koordinate logotipa -280 40 1400 1160 uz 0.1 px po jedinici; ishodiste
   transformacije je oko ptice (623, 402), koje ostaje na mjestu u svakoj pozi. */
.alc-flight__bird { position: absolute; top: 0; left: 0; width: 140px; height: 116px; transform-origin: 90.3px 36.2px; will-change: transform; }
.alc-flight__bird svg { display: block; width: 100%; height: 100%; overflow: visible; }
.flight-on .waypoint-bird { visibility: hidden; }

.alc-motion-toggle[aria-pressed="false"] { opacity: .7; }
.alc-motion-toggle__off { display: none; }
.alc-motion-toggle[aria-pressed="false"] .alc-motion-toggle__off { display: inline; }

@media (prefers-reduced-motion: reduce) {
    .alc .tw-faq-a, .alc .tw-faq-a.open, .alc .alc-help__card, .alc .alc-mail, .alc .alc-btn, .alc-film__play-icon,
    .alc .alc-extra__card, .alc-extra__go { transition: none; }
}

@media (max-width: 991.98px) {
    .alc-wrap { padding: 0 24px; }
    .alc-hero__in { padding: 72px 24px; }
    .tsd--alc .tsd-body, .tsd--alc .tsd-lx { grid-template-columns: minmax(0, 1fr); }
    .alc-split { padding-top: 80px; padding-bottom: 80px; }
}

@media (max-width: 575.98px) {
    .alc-wrap { padding: 0 15px; }
    .alc-dl-hero { padding-bottom: 72px; }
    .tsd.tsd--alc { padding: 0 0 48px; scroll-margin-top: 186px; }
    .tsd--alc .tsd-card { margin-top: -56px; padding: 16px; }
    .tsd--alc .tsd-panel { padding: 20px 16px; }
    .alc-split { gap: 28px; padding-top: 64px; padding-bottom: 64px; }
    .alc-extra { padding-bottom: 72px; }
    .alc-extra__box { gap: 24px; }
    .alc .alc-extra__card { gap: 14px; padding: 12px 16px 12px 12px; }
    .alc-hero__in { padding: 56px 15px; gap: 48px; }
    .alc-intro { padding-top: 72px; }
    .alc-chapter { padding-top: 40px; padding-bottom: 40px; }
    .alc-band-wrap { padding-bottom: 72px; }
    .alc-film__in, .alc-download__in { padding-top: 72px; padding-bottom: 72px; }
    .alc-film__play { padding: 0 0 14px 14px; }
    .alc-film__play-label { margin-left: 10px; padding: 0 12px; }
    .alc-platform { padding: 24px 20px; }
    .alc-platform__facts > div { grid-template-columns: 96px minmax(0, 1fr); }
    .alc-doc__head { padding-top: 48px; padding-bottom: 40px; }
    .alc-doc__layout { padding-bottom: 72px; }
    .alc-help__keys > div { grid-template-columns: 7.5rem minmax(0, 1fr); gap: 12px; }
    .alc-help__keys kbd { white-space: normal; }
}
