/*
 * DESKTOP — style i plotë i vetëmjaftueshëm
 * Aktiv: (min-width: 1025px)
 */

/* ── RESET ── */
* {
    box-sizing: border-box;
    scrollbar-width: none !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    user-select: none;
    -webkit-user-select: none;
}

*::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

html,
body,
.main-wrapper,
.grid-container {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Segoe UI', sans-serif;
    background-color: #455;
}

/* ── OVERLAY MBULESË ── */
.overlay {
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.4);
    transition: background 0.3s ease;
}

.overlay h3 {
    margin: 0;
    color: #fff !important;
    font-size: clamp(1.1rem, 5vw, 1.5rem);
    text-transform: uppercase;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

/* ── TITULLI DHE TEKSTI ── */
.kuti-titulli {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 0 20px;
}

.poz-lart {
    top: 15px;
}

.poz-qender {
    top: 50%;
    transform: translateY(-50%);
}

.poz-poshte {
    bottom: 15px;
}

.kuti-tekst {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 0 20px;
    margin: 0;
    line-height: 1.5;
    text-align: left;
}

.poz-lart~.kuti-tekst {
    top: calc(15px + 1em + 1px);
}

.poz-qender~.kuti-tekst {
    top: calc(50% + 0.6em + 1px);
}

.poz-poshte~.kuti-tekst {
    bottom: calc(15px + 1em + 1px);
    top: auto;
}

.kuti-tekst--preview {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── BOX BAZË ── */
.box-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    z-index: 1;
}

.box,
a.box {
    position: relative;
    overflow: hidden;
}

.box::after,
a.box::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 2px #3e2723;
    z-index: 3;
    pointer-events: none;
}

.box .overlay {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ── FSHEHJA — desktop aktiv, fsheh të tjerët ── */
.version-portrait {
    display: none !important;
}

.version-landscape {
    display: none !important;
}

/* ── LAYOUT ── */
.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 33.33vh;
    grid-auto-flow: dense;
}

.box,
a.box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100% !important;
    text-decoration: none;
    box-shadow: inset 0 0 0 2px #3e2723;
    transition: transform 0.5s ease;
}

.box-double {
    grid-column: span 2;
}

.box-vertical {
    grid-column: span 1;
}

.box-split {
    grid-column: span 1;
    grid-row: span 1;
    display: flex !important;
    flex-direction: row !important;
}

.box-split .split-child {
    flex: 1;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.box-split .split-child:first-child {
    border-right: 2px solid #3e2723;
}

.box-split .split-child .box-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box-fullscreen {
    grid-column: 1 / -1;
    height: 100vh !important;
}

.box-plusfullscreen {
    grid-column: 1 / -1;
    height: 133.33vh !important;
}

/*
Theme Name:  Njerëzit
Theme URI:   https://njerezit.com
Description: Temë multimediale me versione desktop / landscape / portrait.
Version:     1.0.0
Author:      Gert
Text Domain: njerezit
*/

/* ═══════════════════════════════════════════════════════════════════
   SPONSOR WINDOWS — Izolim nga CSS-i global i temës
   Shtohet këtu (root style.css) që të ngarkohet para çdo skedari
   orientation-specifik dhe të mbrojë #sp-w-bar në çdo kontekst.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. .sp-w-bar-inner: layout eksplicit ──────────────────────────
   Ky element nuk ka asnjë CSS të definuar askund (as inline).
   Pa këtë rregull, çdo selector i gjerë nga seksionet-desktop.css
   ose nga skedarë të tjerë mund t'i ndryshojë display, overflow,
   ose flex-behavior.
   ────────────────────────────────────────────────────────────────── */
#sp-w-bar .sp-w-bar-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
}

/* ── 2. .sp-w-col: layout eksplicit + overflow kritik ──────────────
   .sp-w-col nuk ka asnjë CSS.
   overflow: visible është kritik — pa të, marquee-ja poshtë bllokut
   të mediave pritet dhe nuk shfaqet.
   ────────────────────────────────────────────────────────────────── */
#sp-w-bar .sp-w-col {
    display: block !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── 3. #sp-w-bar vetë: overflow i lirë ────────────────────────────
   Nëse ndonjë CSS aplikon overflow: hidden mbi position:fixed ose
   mbi div direkt fëmijë të <body>, marquee-ja poshtë pritet.
   ────────────────────────────────────────────────────────────────── */
#sp-w-bar {
    overflow: visible !important;
}

/* ── 4. Dukshmëria: reziston media queries të temës ────────────────
   style-desktop.css është aktiv vetëm nga (min-width: 1025px).
   @media all siguron që ky rregull ka përparësi mbi çdo breakpoint.
   ────────────────────────────────────────────────────────────────── */
@media all {
    #sp-w-bar.spw-visible {
        display: block !important;
    }
}

/* ── 5. Mbrojtja e animacionit të marquee-s ────────────────────────
   animations-desktop.css mund të ketë reset animacionesh global.
   .sp-w-mq-run merr animation via inline style (nga PHP), por
   animation-play-state mund të ndryshojë nga rregulla të jashtme.
   ────────────────────────────────────────────────────────────────── */
#sp-w-bar .sp-w-mq-run {
    animation-play-state: running !important;
}

/* ── 6. Izolim nga sjelljet e veçorive ─────────────────────────────
   Nëse seksionet-desktop.css ka klasa gjendjeje globale dhe
   ndonjë JS i shton aksidentalisht brenda #sp-w-bar,
   visibility dhe opacity ruhen për elementët strukturorë.
   ────────────────────────────────────────────────────────────────── */
#sp-w-bar .sp-w-bllok,
#sp-w-bar .sp-w-media-run,
#sp-w-bar .sp-w-item,
#sp-w-bar .sp-w-marquee {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}