@font-face{font-family:Gibson;src:url("https://use.typekit.net/af/7557c8/00000000000000003b9b3878/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff2"),url("https://use.typekit.net/af/7557c8/00000000000000003b9b3878/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff"),url("https://use.typekit.net/af/7557c8/00000000000000003b9b3878/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:200}
@font-face{font-family:Gibson;src:url("https://use.typekit.net/af/403911/00000000000000003b9b3880/27/l?subset_id=2&fvd=n6&v=3") format("woff2"),url("https://use.typekit.net/af/403911/00000000000000003b9b3880/27/d?subset_id=2&fvd=n6&v=3") format("woff"),url("https://use.typekit.net/af/403911/00000000000000003b9b3880/27/a?subset_id=2&fvd=n6&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:600}

html {-webkit-text-size-adjust: 100%; font-size: 18px;}
body {margin: 0; background: #fff; font: 200 1rem/1.5 'Gibson', sans-serif; color: #505050;}
.bottom-block { color: #000; padding: 0; }
.bottom-block div:first-child { text-align: center; }
.bottom-block div:nth-child(2) { text-align: left; }
@media screen and (max-width: 991px){html {font-size: 17px;}  .bottom-block img { margin: 0 0 0.55rem 0; } .bottom-block div:nth-child(2) { text-align: center; } }
@media screen and (max-width: 767px){html {font-size: 16px;}}
@media screen and (max-width: 575px){html {font-size: 15px;}}
@media screen and (min-width: 1400px){ .container { max-width:1140px !important;}}
p {margin-bottom: 0.6rem;}

.bGapsLast-0>:last-child, .mCol__inner>:last-child, .quickstatus-list .list__col-inner>:last-child {margin-bottom: 0!important;}

.main-container > .row {margin: 0 -0.2777rem -0.5555rem -0.2777rem;}
.main-container > .row > * {margin: 0 0 0.5555rem 0; padding: 0 0.2777rem;}

.mCol__inner {display: flex; flex-direction: column; width: 100%; height: 100%;}
.mCol2__inner {padding-bottom: 1.5rem;}
.mCol3__inner {border-top: 1px solid #666; padding-top: 1rem;}

.msg-block {background-color: #009ce0; color: #fff; padding: 1.11rem 1.55rem 0.77rem 1.55rem; font-size: 1.11rem;}
.bottom-block-footer { text-align: center; padding: 0.5rem 0; }
.bottom-container { border-top: 1px solid #c7c7c7; padding: 1.5rem 0;}

.quickstatus-list {margin-bottom: 0.5555rem;}
.quickstatus-list .list__row {display: flex; flex-wrap: wrap; margin: 0 -0.2777rem;}
.quickstatus-list .list__col {width: 20%; padding: 0 0.2777rem;}
.quickstatus-list .col__inner {display: flex; flex-direction: column; width: 100%; height: 100%; background-color: #e5e5e5; color: #fff; text-align: center; font-size: 90%; line-height: 1.2;}
.quickstatus-list .col__thumb-wrap img {display: block; width: 100%;}
.quickstatus-list .col__txt { color: #505050; }
.quickstatus-list .completed .col__txt { color: #fff; }
.completed {background-color: #009ce0!important;}

.table {color: inherit;}
#eventsTable th {background-color: #99d7f3; font-weight: 600;}
#eventsTable tr:nth-child(even) td {background-color: #fafafa;}
.nowrap { white-space: nowrap; }

#feedbackPopup { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #009ce0; color: #fff; padding: 24px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); text-align: center; z-index: 1000; }
#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; }
.hidden { display: none; }

#feedbackPopup textarea { box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #ddd; font-size: 18px; padding: 6px; letter-spacing: 1px; resize: none; }
#feedbackPopup button { margin: 0 10px; }

.rating-group { display: inline-flex; }
.rating__icon { pointer-events: none; }
.rating__input { position: absolute !important; left: -9999px !important; }
.rating__input--none { display: none; }
.rating__label { cursor: pointer; padding: 0 0.1em; font-size: 2rem; }
.rating__icon--star { color: gold; }
.rating__input:checked ~ .rating__label .rating__icon--star { color: #ddd; }
.rating-group:hover .rating__label .rating__icon--star { color: gold; }
.rating__input:hover ~ .rating__label .rating__icon--star { color: #ddd; }

#push-subscription-button { display: none; background-color: #99d7f3; color: #505050; max-width: 200px; margin: 5px 0; }
#push-subscription-button:hover { background-color: #009ce0; }

/* ============================
   UX hero card + events + support bar
============================ */

.has-support-bar { padding-bottom: 78px; }

.ux-card{
    background:#fff;
    border-radius:18px;
    padding:18px 18px 14px 18px;
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 16px 35px rgba(0,0,0,.08);
}
.ux-hdr{font-weight:800;font-size:22px;color:#1f2a37;margin-bottom:6px;}
.ux-big{font-size:62px;line-height:1;font-weight:900;color:#0b74c4;letter-spacing:-1px;margin:6px 0 10px;}
.ux-hint{color:#64748b;font-size:14px;line-height:1.35;margin:0 0 12px 0;}
.ux-info{
    background:#f1f5f9;
    border:1px solid rgba(0,0,0,.05);
    border-radius:14px;
    padding:10px 12px;
    margin-bottom:12px;
}
.ux-infoRow{
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 0;
    font-size:14.5px;
    color:#1f2a37;
}
.ux-infoRow + .ux-infoRow{border-top:1px solid rgba(0,0,0,.06);}
.ux-k{color:#64748b;min-width:110px;}
.ux-v{flex:1 1 auto;}
.ux-copy{
    border:0;
    background:#e2e8f0;
    color:#0f172a;
    font-weight:700;
    font-size:12px;
    padding:6px 10px;
    border-radius:999px;
}
.ux-copy:active{transform: translateY(1px);}
.ux-copy.is-ok{background:#dcfce7;color:#166534;}
.ux-copy.is-bad{background:#fee2e2;color:#991b1b;}

.ux-dots{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin:8px 2px 10px 2px;
}
.ux-dot{
    width:14px;height:14px;border-radius:999px;
    background:#cbd5e1;
    flex:0 0 auto;
}
.ux-dot.is-done{background:#0b74c4; opacity:.9;}
.ux-dot.is-active{background:#0b74c4; width:18px; height:18px; box-shadow:0 10px 18px rgba(11,116,196,.25);}
.ux-dot.is-todo{background:#e2e8f0;}
.ux-dotbar{
    height:5px;
    flex:1 1 auto;
    background:#e2e8f0;
    border-radius:999px;
}
.ux-dot.is-done + .ux-dotbar{background:#cfe8fb;}

.ux-now{
    text-align:center;
    font-size:14px;
    color:#1f2a37;
}
.ux-nowK{color:#64748b; font-weight:600;}
.ux-nowV{font-weight:900;}

@media (max-width:420px){
    .ux-hdr{font-size:20px;}
    .ux-big{font-size:54px;}
    .ux-k{min-width:100px;}
    .ux-infoRow{font-size:13.5px;}
}

.events-card{
    margin-top: 14px;
    background:#fff;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 30px rgba(0,0,0,.06);
    padding: 14px 14px 10px 14px;
}
.events-title{
    font-weight:800;
    font-size:18px;
    color:#1f2a37;
    margin: 0 0 8px 0;
}
.timeline-item{
    display:flex;
    gap:12px;
    padding:10px 0;
    border-top:1px solid rgba(0,0,0,.06);
}
.timeline-item:first-of-type{border-top:0;}
.timeline-dot{
    width:10px;height:10px;border-radius:999px;
    background:#0b74c4;
    margin-top:6px;
    flex:0 0 auto;
}
.timeline-dot.muted{background:#cbd5e1;}
.timeline-content{
    flex:1 1 auto;
    font-size:14px;
    color:#0f172a;
    line-height:1.35;
}
.timeline-meta{
    font-size:12px;
    color:#64748b;
    margin-top:4px;
}
.events-toggle{
    width: 100%;
    margin-top: 10px;
    border: 0;
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 800;
    font-size: 14px;
    padding: 10px 12px;
    border-radius: 12px;
}
.events-more{display:none; margin-top: 6px;}

.support-bar{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    background: #ffffff;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    justify-content: space-around;
    padding: 10px 8px;
    z-index: 9999;
}
.support-bar a{
    display:flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    color:#0f172a;
    font-weight:900;
    font-size:14px;
}
.support-bar .ico{
    width:34px;height:34px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;
    background:#f1f5f9;
    border:1px solid rgba(0,0,0,.06);
    font-size:16px;
}

/* ============================
   Error page
============================ */

html, body.error-page { height: 100%; background: #fff; }
body.error-page { margin: 0; padding: 0; }
body.error-page .parent { height: 100%; display: flex; align-items: center; justify-content: center; }
body.error-page .child {
    background: #009ce0;
    padding: 24px;
    color: #fff;
    width: 300px;
    text-align: center;
    font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
}
body.error-page a { color: #fff; text-decoration: none; }
body.error-page a:hover { text-decoration: underline; }

/* details/summary toggle (JS-vaba) */
.events-details summary { list-style: none; cursor: pointer; }
.events-details summary::-webkit-details-marker { display: none; }
.events-details .events-more { display: none; margin-top: 6px; }
.events-details[open] .events-more { display: block; }
.events-details .txt-hide { display: none; }
.events-details[open] .txt-show { display: none; }
.events-details[open] .txt-hide { display: inline; }

/* Quickstatus suured ikoonid – sama “kumerus” nagu teistel kastidel */
.col__inner.quickstatus,
.col__inner.quickstatus.completed {
    border-radius: 14px;
    overflow: hidden;
}

/* ============================
   Stamp timeline (peen taustajoon + “auk” incident/muted ridade juures)
============================ */

.stamp-card{
    margin-top: 14px;
    background:#fff;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 30px rgba(0,0,0,.06);
    padding: 14px 14px 12px 14px;
}
.stamp-title{
    font-weight:800;
    font-size:18px;
    color:#1f2a37;
    margin: 0 0 10px 0;
}

.stamp-timeline{
    position: relative;
    display:flex;
    flex-direction:column;
}

/* ✅ UUS: üks peen ja hele taustajoon (stabiilne, puhas) */
.stamp-timeline.is-clean::before{
    content:"";
    position:absolute;
    top: 12px;
    bottom: 12px;
    left: 75px;              /* 54px (.stp-time) + 12px (gap) + 9px (rail center) */
    width: 1px;              /* õhem */
    background: #e5e7eb;     /* heledam */
    border-radius: 999px;
    pointer-events:none;
    opacity: .95;
    z-index: 0;
}

.stp-item{
    display:flex;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid rgba(0,0,0,.06);
    position: relative;
}
.stp-item:first-child{border-top:0;}

.stp-time{
    width: 54px;
    flex: 0 0 auto;
    font-weight: 800;
    font-size: 13px;
    color:#0f172a;
    line-height: 1.2;
    margin-top: 2px;
}

.stp-rail{
    width: 18px;
    flex: 0 0 auto;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    position: relative;
    z-index: 2; /* dot + rail alati joone peal */
}

/* Täpp */
.stp-dot{
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #cbd5e1;
    margin-top: 4px;
    position: relative;
    z-index: 3;
}

/* Kui tuleviku-etapp: täpp jääb heledam */
.stp-dot.is-empty{opacity: .9;}

.stp-body{
    flex:1 1 auto;
    min-width: 0;
}
.stp-text{
    font-size: 14px;
    color:#0f172a;
    line-height: 1.35;
}
.stp-meta{
    font-size: 12px;
    color:#64748b;
    margin-top: 4px;
}

/* ❌ EEMALDAME eelmise “juppidena joone” (stp-rail before/after) */
.stp-rail::before,
.stp-rail::after{
    content: none !important;
}

/* ✅ “AUK” joones: maskeerime taustajoone incident ja muted ridade alt */
.stamp-timeline.is-clean .stp-item.is-incident::before,
.stamp-timeline.is-clean .stp-item.is-muted::before{
    content:"";
    position:absolute;
    left: 75px;
    top: 0;
    bottom: 0;
    width: 12px;                 /* katab joone + natuke varu */
    transform: translateX(-6px);
    background: #fff;            /* sama mis card taust */
    pointer-events:none;
    z-index: 1;                  /* joone kohal, sisu all */
}

/* Optional: incident natuke “õhku”, et katkestus tunduks tahtlik */
.stamp-timeline.is-clean .stp-item.is-incident{
    padding-top: 12px;
    padding-bottom: 12px;
}

/* States */
.stp-item.is-done .stp-dot{background:#16a34a;}

.stp-item.is-active .stp-dot{
    background:#16a34a;
    box-shadow: 0 0 0 6px rgba(22,163,74,.12);
}
.stp-item.is-active .stp-time{color:#16a34a;}
.stp-item.is-active .stp-text{font-weight: 900;}

.stp-item.is-todo .stp-dot{background:#cbd5e1;}
.stp-item.is-todo .stp-time{color:#94a3b8;}
.stp-item.is-todo .stp-text{color:#64748b;}

.stp-item.is-muted .stp-dot{background:#e2e8f0;}
.stp-item.is-muted .stp-time{color:#94a3b8;}
.stp-item.is-muted .stp-text{color:#94a3b8;}

/* Incident */
.stp-item.is-incident .stp-time{color:#991b1b;}
.stp-item.is-incident .stp-text{color:#991b1b; font-weight: 900;}

.stp-item.is-bad .stp-dot{background:#ef4444;}

.stp-item.is-cancelled .stp-dot{background:#0f172a;}
.stp-item.is-cancelled .stp-time{color:#0f172a;}
.stp-item.is-cancelled .stp-text{color:#0f172a;}

.stp-sub{font-weight:600; color:#7f1d1d;}

/* ============================
   UUS: Updates toggle card + “triipude” eemaldus
   (sobib PHP-s lisatud .updates-card ja .stamp-timeline.is-clean klassidega)
============================ */

/* Eemalda horisontaalsed eraldusjooned timeline’is (need border-top triibud) */
.stamp-timeline.is-clean .stp-item{
    border-top: 0 !important;
    padding: 10px 0;
}

/* Optional: incident natuke suurema paddinguga */
.stamp-timeline.is-clean .stp-item.is-incident{
    padding-top: 12px;
    padding-bottom: 12px;
}

/* Updates card (samad parameetrid nagu stamp-card/ux-card) */
.updates-card{
    margin-top: 14px;
    background:#fff;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 30px rgba(0,0,0,.06);
    padding: 14px 14px 12px 14px;
}

.updates-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin: 0 0 10px 0;
}

.updates-title{
    font-weight:800;
    font-size:18px;
    color:#1f2a37;
    line-height: 1.2;
}

/* Toggle button */
.updates-toggle{
    border:0;
    background:#f1f5f9;
    color:#0f172a;
    font-weight:900;
    font-size:13px;
    padding: 8px 12px;
    border-radius: 999px;
    white-space: nowrap;
}
.updates-toggle:active{transform: translateY(1px);}

/* Latest block */
.updates-latest{
    background:#f8fafc;
    border:1px solid rgba(0,0,0,.05);
    border-radius:14px;
    padding: 10px 12px;
}

.upd-k{
    font-weight:900;
    font-size:12px;
    color:#64748b;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin-bottom: 6px;
}

.upd-v{
    font-size:12px;
    color:#64748b;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom: 6px;
}

.upd-dot{opacity:.7;}

.upd-txt{
    font-size:14px;
    color:#0f172a;
    line-height: 1.35;
}

/* All updates list */
.updates-all{
    margin-top: 10px;
}

/* Collapsed state */
.updates-all.is-collapsed{
    display:none;
}

.upd-row{
    padding: 10px 0;
}

/* Siin eemaldame ka “horisontaalsed triibud” – ei kasuta border-top’i */
.upd-row + .upd-row{
    /* intentionally no border-top */
}
/* Sügavam “auk” joones incident/muted ridade juures */
.stamp-timeline.is-clean .stp-item.is-incident::before,
.stamp-timeline.is-clean .stp-item.is-muted::before{
    content:"";
    position:absolute;
    left: 75px;
    top: -6px;
    bottom: -6px;
    width: 14px;
    transform: translateX(-7px);
    background: #fff;
    pointer-events:none;
    z-index: 1;
}
.upd-row-meta{
    font-size:12px;
    color:#64748b;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom: 6px;
}

.upd-row-txt{
    font-size:14px;
    color:#0f172a;
    line-height: 1.35;
}

.updates-empty{
    color:#64748b;
    font-size:14px;
    padding: 6px 0;
}

/* ============================
   STAMP latest toggle (lisad “viimane sündmus” jaoks)
   NB: panen need lõppu, et override oleks kindel
============================ */

.stamp-latest {
    cursor: pointer;
}

/* oluline: latest-rida EI tohi saada border-top triipu */
.stamp-latest .stp-item{
    border-top: 0 !important;
    padding-top: 0;
}

/* toggle riba */
.stamp-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
    color: #1e88e5;
    margin-top: 6px;
    user-select: none;
}

.stamp-latest:hover .stamp-toggle{
    opacity: .9;
}

/* collapsed state */
.stamp-timeline.is-collapsed {
    display: none;
}

/* ✅ eemaldatud: rotate (JS vahetab ▾/▴, pole vaja)
.stamp-latest[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}
*/
@keyframes breatheGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(22,163,74,0.25);
        opacity: 0.9;
    }
    50% {
        box-shadow: 0 0 0 8px rgba(22,163,74,0.15);
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 0 0 rgba(22,163,74,0.25);
        opacity: 0.9;
    }
}

/* aktiivne samm */
/* AINULT aktiivne samm */
.stp-item.is-active .stp-dot {
    animation: breatheGlow 1.9s ease-in-out infinite;
}

/* kindluse mõttes: done ei hinga (override) */
.stp-item.is-done .stp-dot {
    animation: none !important;
}

/* --- Support bar --- */
.support-bar .ico{
    width:34px;
    height:34px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f1f5f9;
    border:1px solid rgba(0,0,0,.06);
}

.support-bar .ico i{
    font-size:16px;
    line-height:1;
}


/* --- Rating hint card --- */
.rating-hint-card{
    background:#ffffff;          /* puhas valge */
    border:1px solid #eef2f6;    /* väga pehme piir */
    border-radius:12px;
    padding:12px 14px;
    margin:12px 0 16px;
}
.rating-hint-card{
    background:#ffffff;          /* puhas valge */
    border:1px solid #eef2f6;    /* väga pehme piir */
    border-radius:12px;
    padding:12px 14px;
    margin:12px 0 16px;
}

.rating-hint-title{
    font-weight:600;
    font-size:15px;
    color:#111827;               /* põhitekst */
    margin-bottom:2px;
}

.rating-hint-desc{
    font-size:13px;
    color:#6b7280;               /* sekundaarne hall */
    line-height:1.4;
}
