/* ===================================================================
   KPTV — Additional CSS  ·  tema kptv-child1
   =================================================================== */


/* ===============================
   1. SLIDER — grain + vignette
   =============================== */

.home .slider .swiper-slide .slide-inner { position: relative; overflow: hidden; }

.home .slider .swiper-slide .slide-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: radial-gradient(circle at center,
        rgba(0,0,0,0) 0%, rgba(0,0,0,0) 40%,
        rgba(0,0,0,0.45) 70%, rgba(0,0,0,0.85) 100%);
}

.home .slider .swiper-slide .slide-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background: url('/wp-content/themes/digiflex/images/bg-noise.gif') repeat;
    opacity: 0.14;
    mix-blend-mode: overlay;
}

.home .slider .swiper-slide video,
.home .slider .swiper-slide .kptv-slider-video-wrap { position: relative; z-index: 1 !important; }

.home .slider .swiper-slide .slide-inner .container,
.home .slider .swiper-slide .slide-inner .content,
.home .slider .swiper-slide .slide-inner .slider-content { position: relative; z-index: 5 !important; }


/* ===============================
   2. GRILA — badge „Începe la ora"
   Cardurile programate afișau doar ora, fără context,
   deci păreau disponibile acum. Grila e lineară:
   ce nu a început încă, nu se difuzează încă.
   =============================== */

.upcoming-badge::before {
    content: "Începe ";
    font-weight: 400;
    opacity: .85;
}

.upcoming-shows-section .video-thumb:has(.upcoming-badge) .video-image {
    position: relative;
}

.upcoming-shows-section .video-thumb:has(.upcoming-badge) .video-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.35);
    pointer-events: none;
    transition: background .25s ease;
}

.upcoming-shows-section .video-thumb:has(.upcoming-badge):hover .video-image::after {
    background: rgba(0,0,0,.15);
}

.live-badge { letter-spacing: .06em; }


/* ===============================
   3. PAGINA DE EMISIUNE — fundal negru
   =============================== */

.single-tv_show, .single-tv_show body,
.single-tv_show .site, .single-tv_show main { background: #000 !important; }

.single-tv_show .post-content, .single-tv_show .video-wrapper,
.single-tv_show .container, .single-tv_show .row { background: transparent !important; }


/* ===============================
   4. INSTALARE APLICAȚIE
   =============================== */

#kptv-install-floating { display: none !important; }

.kptv-app-promo-bar {
    background: #0d0d0d;
    border-top: 1px solid #1f1f1f;
    padding: 14px 20px;
    text-align: center;
    font-size: 15px;
    color: rgba(255,255,255,.72);
}

.kptv-app-promo-btn {
    display: inline-block;
    margin-left: 10px;
    padding: 8px 18px;
    border-radius: 10px;
    background: #6C47FF;
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
}

.kptv-app-promo-btn:hover { background: #825BFF; }

@media (max-width: 600px) {
    .kptv-app-promo-bar { font-size: 14px; padding: 12px 16px; }
    .kptv-app-promo-btn { display: block; margin: 10px auto 0; max-width: 240px; }
}

.single-episode .kptv-app-promo-bar,
body:has([id^="kptv-tv-"]) .kptv-app-promo-bar,
body:has(#kptv-landscape-wrap) .kptv-app-promo-bar,
.single-episode #spu-banner,
.single-episode .superpwa-install-banner,
body:has(#kptv-landscape-wrap) #spu-banner,
body:has(#kptv-landscape-wrap) .superpwa-install-banner { display: none !important; }


/* ===============================
   5. BLOC KOL.NEWS pe homepage
   PROVIZORIU — text din CSS; de mutat în page-home.php.
   =============================== */

.kol-press-testimonial-section .testimonial h2 {
    font-size: 0 !important;
    line-height: 0 !important;
    width: 100%;
}

.kol-press-testimonial-section .testimonial h2::before {
    content: "Aceeași redacție, în scris.";
    display: block;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
}

.kol-press-testimonial-section .testimonial h2::after {
    content: "KPTV e ce se vede. kol.news e ce se citește. Acolo stau documentarea, sursele și analiza care nu încap într-o emisiune.";
    display: block;
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
    color: rgba(255,255,255,.72);
    max-width: 52ch;
    margin: 18px auto 0;
}

.kol-press-testimonial-section .kol-press-lead,
.kol-press-testimonial-section .testimonial blockquote,
.kol-press-testimonial-section .testimonial figure:not(.side-image),
.kol-press-testimonial-section .testimonial h6 { display: none !important; }

.kol-press-cta-btn { font-size: 0 !important; }

.kol-press-cta-btn::before {
    content: "Citește pe kol.news";
    font-size: 16px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .kol-press-testimonial-section .testimonial h2::before { font-size: 26px; }
    .kol-press-testimonial-section .testimonial h2::after { font-size: 16px; }
}


/* ===============================
   6. KOL INTELLIGENCE — carduri
   =============================== */

.content-section .container .col-lg-8 { max-width: 900px; margin: 0 auto; }

.content-section .blog-post {
    margin: 20px 0;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

@media (hover:hover) {
    .content-section .blog-post:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 40px rgba(0,0,0,0.12);
    }
    .content-section .blog-post:hover .post-image img { transform: scale(1.04); }
}

@media (min-width: 992px) {
    .content-section .blog-post {
        display: grid;
        grid-template-columns: minmax(260px, 38%) 1fr;
        align-items: stretch;
    }
}

.content-section .blog-post .post-image { position: relative; overflow: hidden; background: #000; }

.content-section .blog-post .post-image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .35s ease;
}

@media (max-width: 991px) {
    .content-section .blog-post .post-image { aspect-ratio: 16 / 9; max-height: 260px; }
}

.content-section .blog-post .post-content {
    padding: 18px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-section .blog-post .post-date { font-size: 12px; color: #777; margin-bottom: 6px; }
.content-section .blog-post .post-title { margin: 4px 0 8px; line-height: 1.25; }

.content-section .blog-post .post-title a {
    font-size: 22px; font-weight: 700; color: #111; text-decoration: none;
}

.content-section .blog-post .post-title a:hover { color: #e50914; }

.content-section .blog-post .post-content p {
    color: #444; font-size: 15px; line-height: 1.6; margin: 0;
}

.content-section .blog-post .post-author {
    display: flex; align-items: center; gap: 10px;
    margin-top: 14px; font-size: 13px; color: #666;
}

.content-section .blog-post .post-author img {
    width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
}

@media (max-width: 575px) {
    .content-section .blog-post { border-radius: 12px; }
    .content-section .blog-post .post-title a { font-size: 20px; }
    .content-section .blog-post .post-content { padding: 14px 16px; }
}


/* ===============================
   7. KOL INTELLIGENCE — spațiere și sidebar
   =============================== */

body.blog .content-section { margin-top: -160px !important; padding-top: 0 !important; }

body.blog .content-section article:first-of-type,
body.blog .kptv-search-item:first-child { margin-top: 0 !important; }

body.page-id-35632 main { padding-top: 40px !important; }
body.page-id-35632 .content-section { padding-top: 0 !important; margin-top: 0 !important; }

body.page-id-35632 .widget {
    background: #0f0f0f; border-radius: 14px;
    padding: 22px; margin-bottom: 28px; border: 1px solid #1f1f1f;
}

body.page-id-35632 .widget-title {
    color: #fff; font-size: 15px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase; margin-bottom: 16px;
}

body.page-id-35632 .widget input[type="search"] {
    background: #000; border: 1px solid #2a2a2a;
    color: #fff; border-radius: 10px; padding: 12px 14px;
}

body.page-id-35632 .widget ul li {
    border-bottom: 1px solid #1e1e1e; padding-bottom: 10px; margin-bottom: 10px;
}

body.page-id-35632 .widget ul li:last-child { border-bottom: none; margin-bottom: 0; }


/* ===============================
   8. PAGINA DE CĂUTARE — header vizibil
   =============================== */

body.search-results .navbar {
    background: #0b0b0b;
    position: relative;
    z-index: 10;
}

body.search-results .kptv-search-page { padding-top: 20px; }

/* ===============================
   9. RESPIRAȚIE — spații pe paginile interioare
   Digiflex pune 100px sus/jos pe fiecare secțiune și 400px
   fix pe antet. Pe un site cu grilă densă e ok; pe paginile
   noastre lăsa găuri negre. Aici le strângem.
   =============================== */

/* Antetul paginilor interioare — nu și heroul de pe emisiune */
body:not(.home) .page-header:not(.single) {
    height: auto !important;
    min-height: 0;
    padding: 64px 0 28px;
}

body:not(.home) .page-header:not(.single) .container {
    padding-top: 0;
}

/* Secțiuni pe pagina de emisiune și pe /emisiuni/ */
.single-tv_show .content-section,
body.page-id-35635 .content-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

.single-tv_show .movie-info-box { margin-bottom: 0; }

@media (max-width: 768px) {
    body:not(.home) .page-header:not(.single) { padding: 40px 0 20px; }
    .single-tv_show .content-section,
    body.page-id-35635 .content-section {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }
}


/* ===============================
   10. STARE GOALĂ — „nu există episoade"
   Era text plutind în 190px de nimic. Îl facem panou.
   =============================== */

.kptv-show-episodes .kptv-no-episodes,
.kptv-show-episodes .col-12 > .text-center {
    max-width: 560px;
    margin: 8px auto 0;
    padding: 34px 28px;
    border: 1px solid #1e1e1e;
    border-radius: 14px;
    background: #0d0d0d;
}

.kptv-show-episodes .col-12 > .text-center h3,
.kptv-show-episodes .col-12 > .text-center h4,
.kptv-show-episodes .col-12 > .text-center p:first-child {
    font-size: 18px;
    margin: 0 0 6px;
    color: rgba(255,255,255,.9);
}

.kptv-show-episodes .col-12 > .text-center p {
    font-size: 14px;
    color: rgba(255,255,255,.55);
    margin: 0;
}


/* ===============================
   11. CARDURI FĂRĂ POSTER — să nu se prăbușească
   O emisiune fără imagine reprezentativă lăsa o gaură în grilă.
   Acum păstrează forma și arată un fundal de brand.
   =============================== */

body.page-id-35635 .video-thumb .video-image {
    display: block;
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(145deg, #16161c 0%, #0b0b0e 100%);
}

body.page-id-35635 .video-thumb .video-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Imagine lipsă: ascundem iconița de poză ruptă, rămâne fundalul */
body.page-id-35635 .video-thumb .video-image img:not([src]),
body.page-id-35635 .video-thumb .video-image img[src=""] { display: none; }

/* ===============================
   12. PAGINA DE EMISIUNE — detalii
   =============================== */

/* Rând de meta fără valoare (eticheta emisiunii, mereu goală) */
.single-tv_show .movie-info-box ul.info li:has(span:empty) { display: none; }

/* Posterul lateral dicta înălțimea secțiunii și lăsa gol sub text */
.single-tv_show .single-content-dark .row > [class*="col-lg-3"] img,
.single-tv_show .single-content-dark .row > [class*="col-lg-4"] img {
    max-height: 420px;
    width: auto;
    max-width: 100%;
    margin-left: auto;
    display: block;
    border-radius: 12px;
}

.single-tv_show .movie-info-box p.description {
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255,255,255,.78);
    max-width: 62ch;
    margin-bottom: 18px;
}

/* ===============================
   13. DIFUZARE — LIVE / RELUARE
   =============================== */

.kptv-tvshow-hero-wrapper { position: relative; }

.kptv-hero-chip {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    line-height: 1;
    backdrop-filter: blur(6px);
}

.kptv-hero-chip.is-live   { background: #e50914; color: #fff; }
.kptv-hero-chip.is-rerun  { background: rgba(0,0,0,.62); color: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.22); }

.kptv-hero-chip.is-live::before {
    content: "";
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #fff;
    animation: kptvPulse 1.6s ease-in-out infinite;
}

@keyframes kptvPulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

/* Badge pe cardurile de episod din lista */
.video-thumb .video-image { position: relative; }

.kptv-rerun-badge {
    position: absolute;
    top: 8px; left: 8px;
    z-index: 4;
    padding: 3px 9px;
    border-radius: 6px;
    background: rgba(0,0,0,.66);
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.88);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.5;
}

/* Corectura sectiunii 10: clasa reala e .no-episodes-message */
.kptv-show-episodes .no-episodes-message {
    max-width: 560px;
    margin: 0 auto;
    padding: 30px 26px !important;
    border: 1px solid #1e1e1e;
    border-radius: 14px;
    background: #0d0d0d;
}

.kptv-show-episodes .no-episodes-message h3 { font-size: 19px !important; margin-bottom: 8px !important; }
.kptv-show-episodes .no-episodes-message p  { font-size: 14px; margin: 0; }

/* ===============================
   14. KOL INTELLIGENCE — flux din kol.news
   Antetul nu mai are 400px fixi, deci hack-ul de -160px
   din sectiunea 7 nu mai are ce compensa.
   =============================== */

body.blog .kol-feed-section,
body.page-id-35632 .kol-feed-section {
    margin-top: 0 !important;
    padding-top: 48px !important;
    padding-bottom: 72px !important;
}

.kol-feed-intro { margin-bottom: 30px; }

.kol-feed-intro h6 {
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin: 0 0 10px;
}

.kol-feed-intro p {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255,255,255,.66);
    max-width: 60ch;
    margin: 0;
}

.kol-feed-intro a { color: #f59e0b; text-decoration: none; }
.kol-feed-intro a:hover { text-decoration: underline; }

.kol-feed-item .post-date {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.kol-feed-source {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 5px;
    background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.1);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: lowercase;
    color: #555;
}

.kol-feed-item .post-author {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    color: #666;
}

.kol-feed-more { margin: 34px 0 0; text-align: center; }

.kol-feed-more-btn {
    display: inline-block;
    padding: 12px 26px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .2s ease, border-color .2s ease;
}

.kol-feed-more-btn:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.32);
}

.kol-feed-empty {
    padding: 30px;
    border: 1px solid #1e1e1e;
    border-radius: 14px;
    background: #0d0d0d;
    color: rgba(255,255,255,.7);
    text-align: center;
}

.kol-feed-empty a { color: #f59e0b; }

@media (max-width: 991px) {
    body.blog .kol-feed-section,
    body.page-id-35632 .kol-feed-section {
        padding-top: 28px !important;
        padding-bottom: 44px !important;
    }
    .kol-feed-intro { margin-bottom: 22px; }
}

/* Corectura sectiunii 11: fara latime explicita, aspect-ratio nu are pe ce se aplica */
body.page-id-35635 .video-thumb .video-image {
    width: 100%;
    min-width: 100%;
}

body.page-id-35635 .video-thumb .video-image-wrapper { width: 100%; }

/* ===============================
   15. KOL INTELLIGENCE — bara laterala
   Inlocuieste „Postări Recente" (articole locale din 2025)
   si „Comentarii recente" cu titluri din acelasi flux.
   =============================== */

.kol-side { position: sticky; top: 96px; }

.kol-side-widget {
    background: #0f0f0f;
    border: 1px solid #1f1f1f;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 22px;
}

.kol-side-widget .widget-title {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.kol-side-list { list-style: none; margin: 0; padding: 0; }

.kol-side-list li {
    border-bottom: 1px solid #1e1e1e;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.kol-side-list li:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }

.kol-side-list a {
    display: block;
    color: rgba(255,255,255,.88);
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none;
}

.kol-side-list a:hover { color: #f59e0b; }

.kol-side-date {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: rgba(255,255,255,.42);
}

.kol-side-cta p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,.66);
    margin: 0 0 16px;
}

.kol-side-widget input[type="search"],
.kol-side-widget input[type="text"] {
    width: 100%;
    background: #000;
    border: 1px solid #2a2a2a;
    color: #fff;
    border-radius: 10px;
    padding: 11px 13px;
}

@media (max-width: 991px) {
    .kol-side { position: static; margin-top: 32px; }
}

/* ===============================
   16. PLAYER UNIFICAT — controale Netflix pe paginile de emisiune
   Aceleasi comenzi ca pe LIVE TV, ca sa nu mai fie doua experiente.
   =============================== */

.kptv-player-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
    border-radius: 14px;
}

.kptv-player-wrap.is-iframe iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.kptv-player-wrap .video-js { width: 100%; height: 100%; }
.kptv-player-wrap video { width: 100%; height: 100%; object-fit: contain; background: #000; }

.kptv-player-wrap .netflix-controls {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0));
    pointer-events: none;
}

.kptv-player-wrap .netflix-controls-left,
.kptv-player-wrap .netflix-controls-right {
    display: flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
}

.kptv-player-wrap .netflix-controls button {
    background: transparent;
    border: 0;
    padding: 6px;
    cursor: pointer;
    line-height: 0;
    border-radius: 8px;
    transition: background .18s ease, transform .18s ease;
}

.kptv-player-wrap .netflix-controls button:hover {
    background: rgba(255,255,255,.14);
    transform: scale(1.04);
}

.kptv-player-wrap .kptv-live-tag {
    position: absolute;
    top: 14px; left: 14px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #e50914;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.kptv-player-wrap .kptv-live-tag::before {
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #fff;
    animation: kptvPulse 1.6s ease-in-out infinite;
}

/* Chip-ul vechi de deasupra heroului devine redundant cand playerul are eticheta lui */
.kptv-tvshow-hero-wrapper .kptv-hero-chip.is-live { display: none; }

@media (max-width: 600px) {
    .kptv-player-wrap { border-radius: 10px; }
    .kptv-player-wrap .netflix-controls { padding: 10px 12px; }
}

/* ===============================
   17. Emisiune care urmeaza, dar cu arhiva disponibila
   Zidul „va incepe la ora X" apare doar cand chiar nu exista
   nimic de redat. Daca exista reluari, ele se vad, iar ora
   urmatoarei difuzari devine o notita, nu un obstacol.
   =============================== */

.kptv-hero-chip.is-next {
    background: rgba(0,0,0,.66);
    border: 1px solid rgba(245,158,11,.45);
    color: rgba(255,255,255,.9);
    letter-spacing: .04em;
    text-transform: none;
    font-weight: 600;
    font-size: 12px;
}

.kptv-hero-chip.is-next::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f59e0b;
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .kptv-hero-chip.is-next { font-size: 11px; padding: 5px 10px; }
}

/* ===============================
   18. SUBSOL — structura si respiratie
   Grila era 4 + offset1 + 2 + 2 + 2 = 11 din 12 coloane, cu un gol
   de 135px dupa textul din stanga si zero padding vertical.
   =============================== */

.footer { padding: 64px 0 0 !important; }

.footer > .container > .row {
    justify-content: space-between;
    row-gap: 36px;
}

/* offsetul crea golul; latimea o distribuim intre coloane */
.footer .offset-lg-1 { margin-left: 0 !important; }

@media (min-width: 992px) {
    .footer > .container > .row > .col-lg-4 { flex: 0 0 auto; width: 30%; max-width: 380px; }
    .footer > .container > .row > .col-lg-2 { flex: 0 0 auto; width: auto; min-width: 150px; }
}

.footer .widget-title,
.footer h4, .footer h5, .footer h6 {
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 18px;
}

.footer ul { list-style: none; margin: 0; padding: 0; }

.footer ul li { margin-bottom: 11px; }
.footer ul li:last-child { margin-bottom: 0; }

.footer ul li a {
    color: rgba(255,255,255,.66);
    font-size: 14px;
    text-decoration: none;
    transition: color .18s ease;
}

.footer ul li a:hover { color: #fff; }

.footer p {
    color: rgba(255,255,255,.6);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

.footer .bottom-bar {
    margin-top: 52px;
    padding: 22px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}

.footer .bottom-bar span,
.footer .bottom-bar p {
    font-size: 13px;
    color: rgba(255,255,255,.45);
}

@media (max-width: 991px) {
    .footer { padding: 44px 0 0 !important; }
    .footer > .container > .row { row-gap: 30px; }
    .footer .bottom-bar { margin-top: 34px; }
}
