/*
 * frontend.css β€” Ξ“ΞµΞ½ΞΉΞΊΞ¬ CSS Ξ³ΞΉΞ± Ο„ΞΏ rendered output Ο„ΞΏΟ… PageBuilder.
 * ---------------------------------------------------------------------------
 * Ξ¦ΞΏΟΟ„ΟΞ½ΞµΟ„Ξ±ΞΉ ΞΞΞΞ ΟƒΟ„Ξ·Ξ½ Ο„ΞµΞ»ΞΉΞΊΞ® ΟƒΞµΞ»Ξ―Ξ΄Ξ± (frontend/preview), ΟΟ‡ΞΉ ΟƒΟ„ΞΏΞ½ editor.
 * ΞΞ¬ΞΈΞµ section Ξ­Ο‡ΞµΞΉ Ο„Ξ·Ξ½ ΞΊΞΏΞΉΞ½Ξ® class .pb-section, ΞΊΞ¬ΞΈΞµ Ξ³ΟΞ±ΞΌΞΌΞ® Ο„Ξ·Ξ½ .pb-row ΞΊΞ±ΞΉ
 * ΞΊΞ¬ΞΈΞµ ΟƒΟ„Ξ®Ξ»Ξ· Ο„Ξ·Ξ½ .pb-col, ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΌΟ€Ξ±Ξ―Ξ½ΞΏΟ…Ξ½ ΞµΞ΄Ο Ξ³ΞµΞ½ΞΉΞΊΞΏΞ― ΞΊΞ±Ξ½ΟΞ½ΞµΟ‚ Ο€ΞΏΟ… ΞΉΟƒΟ‡ΟΞΏΟ…Ξ½ Ο€Ξ±Ξ½Ο„ΞΏΟ.
 *
 * β• Ξ ΟΟΟƒΞΈΞµΟƒΞµ ΞµΞ΄Ο Ξ³ΞµΞ½ΞΉΞΊΞ­Ο‚ ΞµΞ½Ο„ΞΏΞ»Ξ­Ο‚ (Ο€.Ο‡. positioning, overflow, spacing).
 */

/* Section: ΞΈΞµΟ„ΞΉΞΊΞ® Ξ²Ξ¬ΟƒΞ· Ξ³ΞΉΞ± absolute-positioned Ο€Ξ±ΞΉΞ΄ΞΉΞ¬ & background media. */
.pb-section {
    position: relative;
}

/*
 * Classes Ξ±Ξ½Ξ¬ Β«Row stretchΒ» (full_width) β€” hooks Ξ³ΞΉΞ± Ξ΄ΞΉΞΏΟΞΈΟΟƒΞµΞΉΟ‚ CSS Ξ±Ξ½Ξ¬ mode.
 * ΞΞ¬ΞΈΞµ section Ο€Ξ±Ξ―ΟΞ½ΞµΞΉ ΞΞ™Ξ‘ Ξ±Ο€Ο Ξ±Ο…Ο„Ξ­Ο‚:
 *   .pb-fw-default                  β†’ Default (boxed Ο†ΟΞ½Ο„ΞΏ & Ο€ΞµΟΞΉΞµΟ‡ΟΞΌΞµΞ½ΞΏ)
 *   .pb-fw-stretch-row              β†’ Stretch row (Ο†ΟΞ½Ο„ΞΏ full width, Ο€ΞµΟΞΉΞµΟ‡ΟΞΌΞµΞ½ΞΏ boxed)
 *   .pb-fw-stretch-content          β†’ Stretch row and content (ΟΞ»Ξ± full width)
 *   .pb-fw-stretch-content-nospace  β†’ β€¦Ο‡Ο‰ΟΞ―Ο‚ paddings
 * β• Ξ’Ξ¬Ξ»Ξµ ΞµΞ΄Ο ΞΊΞ±Ξ½ΟΞ½ΞµΟ‚ Ξ±Ξ½ ΞΊΞ¬Ο„ΞΉ Ξ΄ΞµΞ½ Ο†Ξ±Ξ―Ξ½ΞµΟ„Ξ±ΞΉ ΟƒΟ‰ΟƒΟ„Ξ¬ ΟƒΞµ ΞΊΞ¬Ο€ΞΏΞΉΞΏ mode.
 */
.pb-fw-default {}
.pb-fw-stretch-row {}
.pb-fw-stretch-content {}
.pb-fw-stretch-content-nospace {}
/* Stretch row and content: Ξ΄ΞµΞ½ Ο…Ο€Ξ¬ΟΟ‡ΞµΞΉ .container Ξ½Ξ± Ξ±Ο€ΞΏΟΟΞΏΟ†Ξ®ΟƒΞµΞΉ Ο„Ξ± Ξ±ΟΞ½Ξ·Ο„ΞΉΞΊΞ¬
   margins Ο„ΞΏΟ… .row, ΞΏΟ€ΟΟ„Ξµ Ο„ΞΏ Ο€ΞµΟΞΉΞµΟ‡ΟΞΌΞµΞ½ΞΏ ΞΎΞµΟ‡ΞµΞ―Ξ»ΞΉΞ¶Ξµ ~12px Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ο„ΞΏ section.
   ΞΞ·Ξ΄ΞµΞ½Ξ―Ξ¶ΞΏΟ…ΞΌΞµ Ο„Ξ± ΞΏΟΞΉΞ¶ΟΞ½Ο„ΞΉΞ± margins Ο„Ο‰Ξ½ top-level Ξ³ΟΞ±ΞΌΞΌΟΞ½ ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΌΞ­Ξ½ΞΏΟ…Ξ½ ΞΌΞ­ΟƒΞ±
   ΟƒΟ„Ξ± paddings Ο„ΞΏΟ… section. */
.pb-fw-stretch-content > .pb-row.row,
.pb-fw-stretch-content-nospace > .pb-row.row,
.pb-fw-stretch-content > .pb-row-box > .pb-row.row,
.pb-fw-stretch-content-nospace > .pb-row-box > .pb-row.row,
.pb-fw-stretch-content > .pb-sec-content > .pb-row.row,
.pb-fw-stretch-content-nospace > .pb-sec-content > .pb-row.row,
.pb-fw-stretch-content > .pb-sec-content > .pb-row-box > .pb-row.row,
.pb-fw-stretch-content-nospace > .pb-sec-content > .pb-row-box > .pb-row.row {
    margin-left: 0;
    margin-right: 0;
}

/* ===========================================================================
 * PARALLAX β€” ΞΎΞµΟ‡Ο‰ΟΞΉΟƒΟ„Ο layer Ο†ΟΞ½Ο„ΞΏΟ… (ΞΊΞ±Ο„Ξ¬ Ο„ΞΏ .upb_row_bg Ο„ΞΏΟ… WPBakery).
 * ΞΟ€Ξ±Ξ―Ξ½ΞµΞΉ ΞΞΞΞ ΟƒΟ„Ξ± modes Ο€ΞΏΟ… Ο„ΞΏ Ο‡ΟΞµΞΉΞ¬Ξ¶ΞΏΞ½Ο„Ξ±ΞΉ (vertical/horizontal/auto/mouse)Β·
 * Ο„Ξ± Β«No ParallaxΒ»/Β«SimpleΒ» ΞΌΞ­Ξ½ΞΏΟ…Ξ½ inline ΟƒΟ„ΞΏ section, ΟΟ€Ο‰Ο‚ Ο€Ξ¬Ξ½Ο„Ξ±.
 * Ξ¤ΞΏ frontend.js ΞΌΞµΟ„Ξ±ΞΊΞΉΞ½ΞµΞ― Ο„ΞΏ background-position Ξ±Ο…Ο„ΞΏΟ Ο„ΞΏΟ… div ΟƒΟ„ΞΏ scroll.
 * ======================================================================== */
.pb-sec-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}
/* Β«InitialΒ» β†’ Ξ‘ΞΞ™ΞΞ—Ξ¤Ξ— ΞµΞΉΞΊΟΞ½Ξ±: Ξ΄ΞµΞ½ ΞΌΞµΟ„Ξ±ΞΊΞΉΞ½ΞµΞ―Ο„Ξ±ΞΉ ΞΊΞ±ΞΈΟΞ»ΞΏΟ… ΟƒΟ„ΞΏ scroll (Ξ΄ΞµΞ½ Ξ­Ο‡ΞµΞΉ class mode,
   Ξ¬ΟΞ± Ο„ΞΏ JS Ξ΄ΞµΞ½ Ο„Ξ·Ξ½ Ξ±Ξ³Ξ³Ξ―Ξ¶ΞµΞΉΒ· Ο„ΞΏ fixed Ο„Ξ·Ξ½ ΞΊΟΞ±Ο„Ξ¬ ΟƒΟ„Ξ±ΞΈΞµΟΞ® Ο‰Ο‚ Ο€ΟΞΏΟ‚ Ο„ΞΏ viewport). */
.pb-sec-bg-static     { background-attachment: fixed; background-position: center center; }
.pb-sec-bg-vertical   { background-position: 50% 0; }
.pb-sec-bg-horizontal { background-position: 0 0; }
/* Auto Moving Background: ΟƒΟ…Ξ½ΞµΟ‡Ξ®Ο‚ ΞΊΟΞ»ΞΉΟƒΞ· β€” Ο„ΞΏ ΞΊΞ¬Ξ½ΞµΞΉ Ο„ΞΏ JS (ΟΟ€Ο‰Ο‚ Ο„ΞΏ Ο€ΟΟ‰Ο„ΟΟ„Ο…Ο€ΞΏ).
   Ξ”Ξ•Ξ Ο‡ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΞΏΟΞΌΞµ CSS animation: ΞΌΞµ keyframes Ο„ΞΏ loop Β«Ο€Ξ·Ξ΄Ξ¬ΞµΞΉΒ» ΟƒΟ„ΞΏ Ο„Ξ­Ξ»ΞΏΟ‚, ΞµΞ½Ο ΞΌΞµ
   ΟƒΟ…Ξ½ΞµΟ‡Ξ® Ξ±ΟΞΎΞ·ΟƒΞ· Ο„ΞΏΟ… background-position + repeat Ξ· ΞΊΟΞ»ΞΉΟƒΞ· ΞµΞ―Ξ½Ξ±ΞΉ Ξ±Ξ΄ΞΉΞ¬ΞΊΞΏΟ€Ξ·. */
.pb-sec-bg-auto { background-repeat: repeat; }
/* Interactive on Mouse Hover: ΞΊΞ¬ΞΈΞµ ΞµΞΉΞΊΟΞ½Ξ± ΞΎΞµΟ‡Ο‰ΟΞΉΟƒΟ„Ξ® ΟƒΟ„ΟΟΟƒΞ·, Ξ»Ξ―Ξ³ΞΏ ΞΌΞµΞ³Ξ±Ξ»ΟΟ„ΞµΟΞ· ΟΟƒΟ„Ξµ
   Ξ½Ξ± ΞΌΞ· Ο†Ξ±Ξ―Ξ½ΞΏΞ½Ο„Ξ±ΞΉ ΞΊΞµΞ½Ξ¬ ΟƒΟ„ΞΉΟ‚ Ξ¬ΞΊΟΞµΟ‚ ΟΟ„Ξ±Ξ½ ΞΌΞµΟ„Ξ±ΞΊΞΉΞ½ΞµΞ―Ο„Ξ±ΞΉ. */
.pb-sec-bg-layer {
    position: absolute;
    top: -6%; left: -6%; width: 112%; height: 112%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    will-change: transform;
    transition: transform .15s ease-out;
}

/* ===========================================================================
 * tab Β«EffectΒ» β€” Hide Row Β· Overlay Β· Patterns Β· Easy Parallax Β· Fade
 * ======================================================================== */

/* Hide Row β€” Ξ―Ξ΄ΞΉΞ± breakpoints ΞΌΞµ Ο„ΞΏ Ultimate Addons (uvc_hidden-*) */
@media (max-width:479px)                        { .nq-hide-xs  { display:none !important; } }
@media (min-width:480px) and (max-width:767px)  { .nq-hide-xsl { display:none !important; } }
@media (min-width:768px) and (max-width:991px)  { .nq-hide-sm  { display:none !important; } }
@media (min-width:992px) and (max-width:1199px) { .nq-hide-md  { display:none !important; } }
@media (min-width:1200px) and (max-width:1823px){ .nq-hide-ml  { display:none !important; } }
@media (min-width:1824px)                       { .nq-hide-lg  { display:none !important; } }

/* ── Καρτέλα «Responsive» — ορατότητα ανά βαθμίδα BOOTSTRAP ────────────────
   Ισχύει σε section, γραμμή ΚΑΙ στήλη, σε ΟΛΟΥΣ τους builders.
   Οι τιμές είναι ακριβώς του Bootstrap 5 (με .98 στο πάνω άκρο, ώστε να μην
   ανοίγει κενό 1px σε fractional zoom) — έτσι συμφωνούν με το πλέγμα col-*.
   ΜΟΝΟ απόκρυψη: δεν ορίζουμε ΠΟΤΕ display, γιατί γραμμές σαν το #header
   χρειάζονται flex και οι κλάσεις d-*-block του Bootstrap θα το έσπαγαν. */
@media (max-width:575.98px)                          { .nq-r-hide-xs  { display:none !important; } }
@media (min-width:576px) and (max-width:767.98px)    { .nq-r-hide-sm  { display:none !important; } }
@media (min-width:768px) and (max-width:991.98px)    { .nq-r-hide-md  { display:none !important; } }
@media (min-width:992px) and (max-width:1199.98px)   { .nq-r-hide-lg  { display:none !important; } }
@media (min-width:1200px) and (max-width:1399.98px)  { .nq-r-hide-xl  { display:none !important; } }
@media (min-width:1400px)                            { .nq-r-hide-xxl { display:none !important; } }

/* ── Οριζόντια στοίχιση περιεχομένου ΣΤΗ ΣΤΗΛΗ ───────────────────────────────
   Η στήλη γίνεται flex column ΜΟΝΟ όταν ζητηθεί στοίχιση — αλλιώς μένει ό,τι ήταν
   (block), ώστε καμία υπάρχουσα σελίδα να μην αλλάξει.
   ΓΙΑΤΙ flex ΚΑΙ ΟΧΙ `text-align`: το `text-align` μετακινεί μόνο inline
   περιεχόμενο. Το `.nq-nav-wrap` είναι block και δεν θα κουνιόταν καθόλου. */
.pb-col-h          { display:flex; flex-direction:column; }
.pb-col-h-start    { align-items:flex-start; }
.pb-col-h-center   { align-items:center; }
.pb-col-h-end      { align-items:flex-end; }
/* Το `margin-left:auto` μέσα σε στοιχισμένη στήλη ακυρώνει τη στοίχιση — είναι
   ακριβώς ο κανόνας που κρατούσε το μενού δεξιά ανεξάρτητα από τον builder. */
.pb-col-h > * { margin-left:0; margin-right:0; }

/* Overlay Ο€Ξ¬Ξ½Ο‰ Ξ±Ο€Ο Ο„ΞΏ Ο†ΟΞ½Ο„ΞΏ (ΞΊΞ±Ο„Ξ¬ Ο„ΞΏ .upb_bg_overlay) */
.pb-sec-overlay { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.pb-sec-content { position:relative; z-index:1; }

/* Fancy Multi Color Overlay (ΞΊΞ±Ο„Ξ¬ Ο„ΞΏ .uvc-multi-color-bg) */
.pb-sec-overlay-multi { opacity:.6; background-color:#e14949; animation:nq-multicolor 10s alternate infinite; }
@keyframes nq-multicolor {
    0%   { background-color:#e14949; }
    25%  { background-color:#3de02c; }
    50%  { background-color:#2c8de0; }
    100% { background-color:#e02cbc; }
}
@media (prefers-reduced-motion: reduce) { .pb-sec-overlay-multi { animation:none; } }

/* ΞΞΏΟ„Ξ―Ξ²Ξ± overlay β€” SVG data-URIs, ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΌΞ· Ο‡ΟΞµΞΉΞ¬Ξ¶ΞΏΞ½Ο„Ξ±ΞΉ ΞµΞΉΞΊΟΞ½ΞµΟ‚ */
.pb-sec-pat { background-repeat:repeat; }
.pb-sec-pat-diag    { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"); }
.pb-sec-pat-dots    { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='2' cy='2' r='1.5' fill='%23000'/%3E%3C/svg%3E"); }
.pb-sec-pat-grid    { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 0H8M0 0V8' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"); }
.pb-sec-pat-dots-lg { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='4' cy='4' r='3' fill='%23000'/%3E%3C/svg%3E"); }
.pb-sec-pat-checks  { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='4' height='4' fill='%23000'/%3E%3Crect x='4' y='4' width='4' height='4' fill='%23000'/%3E%3C/svg%3E"); }
.pb-sec-pat-hlines  { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 4H8' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.pb-sec-pat-vlines  { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M4 0V8' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.pb-sec-pat-dots-sm { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='.8' fill='%23000'/%3E%3C/svg%3E"); }
.pb-sec-pat-cross   { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M0 10L10 0M0 0L10 10' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"); }

/* --- Separators β€” ΞΊΟΞ±Ο„Ξ¬ΞΌΞµ Ξ¤Ξ™Ξ£ Ξ™Ξ”Ξ™Ξ•Ξ£ classes ΞΌΞµ Ο„ΞΏ Ultimate Addons, ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΉΟƒΟ‡ΟΞµΞΉ
       Ξ±Ο…Ο„ΞΏΟΟƒΞΉΞΏ Ο„ΞΏ CSS Ο„ΞΏΟ… Ο€ΟΟ‰Ο„ΞΏΟ„ΟΟ€ΞΏΟ… (Ξ²Ξ». _ref/parallax.css). --- */
.ult-vc-seperator { position:absolute; width:100%; height:0; left:0; z-index:1; }
.ult-main-seperator-inner { position:relative; height:100%; width:100%; }
.ult-vc-seperator.top_seperator    { top:-1px; bottom:auto; }
.ult-vc-seperator.bottom_seperator { top:auto; bottom:-1px; }
.ult-vc-seperator svg { width:100%; height:auto; display:block; }
/* Ξ‘ΞΞ΅Ξ™Ξ’Ξ©Ξ£ ΞΏΞΉ ΞΊΞ±Ξ½ΟΞ½ΞµΟ‚ Ο„ΞΏΟ… Ο€ΟΟ‰Ο„ΞΏΟ„ΟΟ€ΞΏΟ… β€” ΞΏΞΉ ΞΌΞµΟ„Ξ±ΟƒΟ‡Ξ·ΞΌΞ±Ο„ΞΉΟƒΞΌΞΏΞ― ΞµΞ―Ξ½Ξ±ΞΉ Ξ‘ΞΞ‘ Ξ£Ξ§Ξ—ΞΞ‘ (Ο€.Ο‡. Ο„ΞΏ
   Big Triangle Right Ξ­Ο‡ΞµΞΉ Ο„ΞΏ Ξ™Ξ”Ξ™Ξ polygon ΞΌΞµ Ο„ΞΏ Left ΞΊΞ±ΞΉ Ξ΄ΞΉΞ±Ο†Ξ­ΟΞµΞΉ ΞΌΟΞ½ΞΏ ΞΌΞµ scale(-1)). */
.uvc-svg-circle, .uvc-svg-triangle { position:absolute; top:-1px; bottom:auto; z-index:1; }
.bottom_seperator .uvc-svg-circle, .bottom_seperator .uvc-svg-triangle { top:auto; bottom:-1px; transform:scaleY(-1); }
.uvc-x-large-triangle { position:absolute; top:-1px; bottom:auto; z-index:1; }
.bottom_seperator .uvc-x-large-triangle { top:auto; bottom:-1px; transform:scaleY(-1); }
.uvc-x-large-triangle-left, .uvc-x-large-triangle-right { position:absolute; top:-1px; bottom:auto; z-index:1; }
.bottom_seperator .uvc-x-large-triangle-left, .bottom_seperator .uvc-x-large-triangle-right, .uvc-x-large-circle { top:auto; bottom:-1px; }
.top_seperator .uvc-x-large-triangle-left  { transform:scaleY(-1); }
.top_seperator .uvc-x-large-triangle-right { transform:scale(-1); }
.bottom_seperator .uvc-x-large-triangle-right { transform:scale(-1,1); }
.uvc-x-large-circle { position:absolute; }
.top_seperator .uvc-x-large-circle { top:-1px; bottom:auto; }
.bottom_seperator .uvc-x-large-circle { transform:scaleY(-1); }
.uvc-curve-up-seperator { position:absolute; top:auto; bottom:-1px; }
.top_seperator .uvc-curve-up-seperator { top:-1px; bottom:auto; transform:scaleY(-1); }
.uvc-curve-down-seperator { position:absolute; top:auto; bottom:-1px; }
.bottom_seperator .uvc-curve-down-seperator { transform:scaleX(-1); }
.top_seperator .uvc-curve-down-seperator { top:-1px; bottom:auto; transform:scale(-1,-1); }
.uvc-tilt-left-seperator { position:absolute; top:auto; bottom:1px; }
.top_seperator .uvc-tilt-left-seperator { top:1px; bottom:auto; transform:scale(-1); }
.uvc-tilt-right-seperator { position:absolute; top:auto; bottom:1px; }
.bottom_seperator .uvc-tilt-right-seperator { transform:scaleX(-1); }
.top_seperator .uvc-tilt-right-seperator { top:1px; bottom:auto; transform:scale(1,-1); }
.uvc-wave-seperator { position:absolute; top:auto; bottom:-1px; }
.top_seperator .uvc-wave-seperator { top:-1px; bottom:auto; transform:scale(-1); }
.uvc-cloud-seperator { position:absolute; top:auto; bottom:-1px; }
.top_seperator .uvc-cloud-seperator { top:-1px; bottom:auto; transform:scale(-1); }
.uvc-round-split-seperator { position:absolute; top:-1px; bottom:auto; z-index:1; }
.bottom_seperator .uvc-round-split-seperator { top:auto; bottom:-1px; transform:scaleY(-1); }
.ult-vc-seperator.top_seperator svg.uvc-multi-triangle-svg { transform:scale(-1); }
.uvc-multi-triangle-svg { position:absolute; top:auto; bottom:-1px; z-index:1; }
/* Ξ•ΞΉΞΊΞΏΞ½Ξ―Ξ΄ΞΉΞΏ ΟƒΟ„ΞΏ ΞΊΞ­Ξ½Ο„ΟΞΏ Ο„ΞΏΟ… separator */
.separator-icon { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:5; line-height:1; }
.pb-sep-icon-circle, .pb-sep-icon-square { display:inline-flex; align-items:center; justify-content:center;
    width:2em; height:2em; background:#fff; box-shadow:0 1px 6px rgba(0,0,0,.15); }
.pb-sep-icon-circle { border-radius:50%; }

/* Easy Parallax / Fade β€” Ο„ΞΏ JS Ο„Ξ± ΞΏΞ΄Ξ·Ξ³ΞµΞ― (Ξ²Ξ». frontend.js) */
.pb-fx-parallax { will-change:transform; }
.pb-fx-fade     { will-change:opacity; }

/* Ξ“ΟΞ±ΞΌΞΌΞ® (row): ΞΊΞΏΞΉΞ½Ο hook Ξ³ΞΉΞ± Ξ³ΞµΞ½ΞΉΞΊΞ¬ CSS. */
.pb-row {
    position: relative;
}

/*
 * .pb-row-box = Ξ•ΞΞ©Ξ¤Ξ•Ξ΅Ξ™ΞΞ ΞΊΞΏΟ…Ο„Ξ― Ο„Ξ·Ο‚ Ξ³ΟΞ±ΞΌΞΌΞ®Ο‚. ΞΟΞ±Ο„Ξ¬ Ο„Ξ± ΟƒΟ„Ο…Ξ» (background, padding,
 * border, radius) ΞΊΞ±ΞΉ Ο„ΞΏ ΞΊΞµΞ½Ο Ο€ΟΞΏΟ‚ Ο„Ξ·Ξ½ ΞµΟ€ΟΞΌΞµΞ½Ξ· Ξ³ΟΞ±ΞΌΞΌΞ®. Ξ¤ΞΏ ΞµΟƒΟ‰Ο„ΞµΟΞΉΞΊΟ .pb-row.row
 * ΞΊΟΞ±Ο„Ξ¬ ΞΞΞΞ Ο„ΞΏ grid β€” Ξ­Ο„ΟƒΞΉ Ο„Ξ± Ξ±ΟΞ½Ξ·Ο„ΞΉΞΊΞ¬ margins Ο„ΞΏΟ… Bootstrap (Β±12px) Ξ΄ΞµΞ½ ΞΊΞ¬Ξ½ΞΏΟ…Ξ½
 * Ο„ΞΏ background Ξ½Ξ± ΞΎΞµΟ‡ΞµΞΉΞ»Ξ―Ξ¶ΞµΞΉ Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ο„Ξ· Ξ³ΟΞ±ΞΌΞΌΞ®.
 */
.pb-row-box {
    position: relative;
}

/*
 * ΞΞΏΟ…Ο„Ξ― ΞΌΞµ Ξ΄ΞΉΞΊΟ Ο„ΞΏΟ… Β«ΟƒΟΞΌΞ±Β» (Ο†ΟΞ½Ο„ΞΏ / Ο€Ξ»Ξ±ΟΞ½Ο padding / Ο€ΞµΟΞ―Ξ³ΟΞ±ΞΌΞΌΞ±).
 * Ξ¤ΞΏ ΞµΟƒΟ‰Ο„ΞµΟΞΉΞΊΟ .pb-row.row Ξ­Ο‡ΞµΞΉ Ο„Ξ± Ξ±ΟΞ½Ξ·Ο„ΞΉΞΊΞ¬ margins Ο„ΞΏΟ… Bootstrap (β’12px). Ξ‘Ξ½ Ο„ΞΏ
 * padding Ο„ΞΏΟ… ΞΊΞΏΟ…Ο„ΞΉΞΏΟ ΞµΞ―Ξ½Ξ±ΞΉ ΞΌΞΉΞΊΟΟΟ„ΞµΟΞΏ Ξ±Ο€Ο Ο„ΞΏ ΞΌΞΉΟƒΟ gutter (Ο€.Ο‡. 10px < 12px), Ο„ΞΏ
 * grid ΞΞ•Ξ¦Ξ•Ξ¥Ξ“Ξ•Ξ™ Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ο„ΞΏ Ο†ΟΞ½Ο„ΞΏ ΞΊΞ±ΞΉ Ο„ΞΏ ΞΊΞµΞ―ΞΌΞµΞ½ΞΏ Ο€Ξ±Ο„Ξ¬ΞµΞΉ Ο€Ξ¬Ξ½Ο‰ ΟƒΟ„Ξ·Ξ½ Ξ¬ΞΊΟΞ·.
 * Ξ•Ξ΄Ο Ο„Ξ± ΞΌΞ·Ξ΄ΞµΞ½Ξ―Ξ¶ΞΏΟ…ΞΌΞµ: Ο„ΞΏ ΞΊΞµΞ½Ο ΞΞ•Ξ¤Ξ‘ΞΞ¥ Ο„Ο‰Ξ½ ΟƒΟ„Ξ·Ξ»ΟΞ½ ΞΌΞ­Ξ½ΞµΞΉ Ξ±ΞΊΞ­ΟΞ±ΞΉΞΏ (Ο„ΞΏ Ξ΄Ξ―Ξ½ΞµΞΉ Ο„ΞΏ padding
 * Ο„Ο‰Ξ½ .pb-col) β€” Ξ±Ο€Ξ»ΟΟ‚ Ο„Ξ―Ο€ΞΏΟ„Ξ± Ξ΄ΞµΞ½ Ξ²Ξ³Ξ±Ξ―Ξ½ΞµΞΉ Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ο„ΞΏ ΞΊΞΏΟ…Ο„Ξ―.
 */
.pb-row-box-solid > .pb-row.row,
.pb-row-box-solid > .container > .pb-row.row {
    margin-left: 0;
    margin-right: 0;
}

/*
 * Β«Row stretchΒ» Ξ£Ξ¤Ξ— Ξ“Ξ΅Ξ‘ΞΞΞ—: Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® Ο€ΞΉΞ¬Ξ½ΞµΞΉ ΟΞ»ΞΏ Ο„ΞΏ Ο€Ξ»Ξ¬Ο„ΞΏΟ‚ Ξ¤ΞΞ¥ SECTION β€” ΞΞ§Ξ™ Ο„ΞΏΟ…
 * Ο€Ξ±ΟΞ±ΞΈΟΟΞΏΟ… (Ξ΄ΞµΞ½ ΞΎΞµΟ†ΞµΟΞ³ΞµΞΉ Ξ±Ο€Ο Ο„ΞΏΞ½ Ξ³ΞΏΞ½Ξ­Ξ± Ο„Ξ·Ο‚).
 *  - top-level Ξ³ΟΞ±ΞΌΞΌΞ®: ΞΏ server Ο„Ξ·Ξ½ Ξ²Ξ³Ξ¬Ξ¶ΞµΞΉ Ξ•ΞΞ© Ξ±Ο€Ο Ο„ΞΏ .container (render()), ΞΏΟ€ΟΟ„Ξµ
 *    Ο„ΞΏ Ο€Ξ»Ξ¬Ο„ΞΏΟ‚ Ο„Ξ·Ο‚ ΞµΞ―Ξ½Ξ±ΞΉ Ξ®Ξ΄Ξ· ΟΞ»ΞΏ Ο„ΞΏ section. Ξ”ΞµΞ½ Ο‡ΟΞµΞΉΞ¬Ξ¶ΞµΟ„Ξ±ΞΉ ΞΊΞ±Ξ½Ξ­Ξ½Ξ± breakout ΞµΞ΄Ο.
 *  - Ο†Ο‰Ξ»ΞΉΞ±ΟƒΞΌΞ­Ξ½Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® (ΞΌΞ­ΟƒΞ± ΟƒΞµ ΟƒΟ„Ξ®Ξ»Ξ·): Ξ±ΞΊΟ…ΟΟΞ½ΞµΞΉ ΞΞΞΞ Ο„ΞΏ padding Ο„Ξ·Ο‚ ΟƒΟ„Ξ®Ξ»Ξ·Ο‚, ΟΟƒΟ„Ξµ Ο„ΞΏ
 *    Ο†ΟΞ½Ο„ΞΏ Ξ½Ξ± Ξ±ΞΊΞΏΟ…ΞΌΟ€Ξ¬ Ο„ΞΉΟ‚ Ξ¬ΞΊΟΞµΟ‚ Ο„Ξ·Ο‚ ΟƒΟ„Ξ®Ξ»Ξ·Ο‚ β€” Ο‡Ο‰ΟΞ―Ο‚ Ξ½Ξ± Ξ²Ξ³Ξ±Ξ―Ξ½ΞµΞΉ Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ξ±Ο…Ο„Ξ®Ξ½.
 */
.pb-row-box.pb-row-stretch {
    width: auto;
    max-width: none;
}
.pb-row-inner.pb-row-stretch {
    margin-left: calc(-.5 * var(--bs-gutter-x, 1.5rem));
    margin-right: calc(-.5 * var(--bs-gutter-x, 1.5rem));
}
/*
 * Ξ£Ξ—ΞΞ•Ξ™Ξ©Ξ£Ξ—: Ξ”Ξ•Ξ ΞΊΞ¬Ξ½ΞΏΟ…ΞΌΞµ full-bleed ΞΌΞµ 100vw ΟƒΞµ Ο†Ο‰Ξ»ΞΉΞ±ΟƒΞΌΞ­Ξ½Ξ· Ξ³ΟΞ±ΞΌΞΌΞ®. Ξ¤ΞΏ section Ξ”Ξ•Ξ Ξ­Ο‡ΞµΞΉ
 * Ο€Ξ¬Ξ½Ο„Ξ± Ο„ΞΏ Ο€Ξ»Ξ¬Ο„ΞΏΟ‚ Ο„ΞΏΟ… Ο€Ξ±ΟΞ±ΞΈΟΟΞΏΟ… (Ο€.Ο‡. Ο€ΟΞΏΞµΟ€ΞΉΟƒΞΊΟΟ€Ξ·ΟƒΞ· ΞΌΞ­ΟƒΞ± ΟƒΟ„ΞΏ admin, layout ΞΌΞµ sidebar),
 * ΞΏΟ€ΟΟ„Ξµ Ο„ΞΏ 100vw Ξ­Ξ²Ξ³Ξ±Ξ¶Ξµ Ο„Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® Ξ•ΞΞ© Ξ±Ο€Ο Ο„ΞΏ section. ΞΞΉΞ± Ο†Ο‰Ξ»ΞΉΞ±ΟƒΞΌΞ­Ξ½Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® Ξ¶ΞµΞΉ ΞΌΞ­ΟƒΞ± ΟƒΞµ
 * ΟƒΟ„Ξ®Ξ»Ξ· β†’ Ο„ΞΏ Ο€ΞΏΞ»Ο Ξ³ΞµΞΌΞ―Ξ¶ΞµΞΉ Ο„Ξ· ΟƒΟ„Ξ®Ξ»Ξ· Ο„Ξ·Ο‚ (Ο€ΞΉΞΏ Ο€Ξ¬Ξ½Ο‰).
 * Ξ“ΞΉΞ± Ξ¶ΟΞ½Ξ· ΟƒΞµ ΞΞ›Ξ Ο„ΞΏ Ο€Ξ»Ξ¬Ο„ΞΏΟ‚ Ο„ΞΏΟ… section, Ξ²Ξ¬Ξ»Ξµ Β«Row stretchΒ» ΟƒΟ„Ξ·Ξ½ Ξ•Ξ Ξ‘ΞΞ© (top-level) Ξ³ΟΞ±ΞΌΞΌΞ®:
 * ΞΏ server Ο„Ξ·Ξ½ Ξ²Ξ³Ξ¬Ξ¶ΞµΞΉ Ξ­ΞΎΟ‰ Ξ±Ο€Ο Ο„ΞΏ .container ΞΊΞ±ΞΉ Ο€ΞΉΞ¬Ξ½ΞµΞΉ Ξ±ΞΊΟΞΉΞ²ΟΟ‚ Ο„ΞΏ section.
 */
/* β€¦Ο‡Ο‰ΟΞ―Ο‚ ΞΊΞµΞ½Ξ¬ ΟƒΟ„Ξ± Ξ¬ΞΊΟΞ± */
.pb-row-box.pb-row-stretch-nospace > .pb-row.row {
    margin-left: 0;
    margin-right: 0;
}
.pb-row-box.pb-row-stretch-nospace > .pb-row.row > .pb-col {
    padding-left: 0;
    padding-right: 0;
}

/*
 * Grid gutter ΞΊΞ±Ο„Ξ¬ Ο„ΞΏ Ο€ΟΟΟ„Ο…Ο€ΞΏ Bootstrap 5: Ο„ΞΏ ΞΊΞµΞ½Ο (margins Ο„ΞΏΟ… row + padding
 * Ο„Ο‰Ξ½ ΟƒΟ„Ξ·Ξ»ΟΞ½) ΞΏΞ΄Ξ·Ξ³ΞµΞ―Ο„Ξ±ΞΉ Ξ±Ο€ΞΏΞΊΞ»ΞµΞΉΟƒΟ„ΞΉΞΊΞ¬ Ξ±Ο€Ο Ο„Ξ·Ξ½ --bs-gutter-x. Ξ¤ΞΏ ΞΏΟΞ―Ξ¶ΞΏΟ…ΞΌΞµ ΟƒΟ„ΞΉΟ‚
 * Ξ΄ΞΉΞΊΞ­Ο‚ ΞΌΞ±Ο‚ classes (.pb-row.row) ΟΟƒΟ„Ξµ Ξ½Ξ± ΞµΟ€ΞΉΞΊΟΞ±Ο„ΞµΞ― ΟƒΟ„Ξ±ΞΈΞµΟΞ¬ Ο„ΞΏΟ… theme, Ξ±Ξ½ΞµΞΎΞ¬ΟΟ„Ξ·Ο„Ξ±
 * Ξ±Ο€Ο Ο„ΞΏ build Ο„ΞΏΟ…. Ξ¤ΞΏ PageBuilder ΞΈΞ­Ο„ΞµΞΉ inline --bs-gutter-x Ξ±Ο€Ο Ο„ΞΏ Β«Columns gapΒ»
 * (Ο€.Ο‡. 0 = ΞΊΞ±ΞΈΟΞ»ΞΏΟ… ΞΊΞµΞ½Ο/Ο‡Ο‰ΟΞ―Ο‚ bleed, 10px = 10px gutter).
 */
.pb-row.row {
    --bs-gutter-x: 1.5rem;   /* default Bootstrap gutter (24px) */
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left:  calc(-0.5 * var(--bs-gutter-x));
}
.pb-row.row > .pb-col {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left:  calc(var(--bs-gutter-x) * 0.5);
}

/* ΞΞ¬ΞΈΞµ top-level Ξ³ΟΞ±ΞΌΞΌΞ® Ξ­Ο‡ΞµΞΉ mb-3 (margin-bottom:12px) Ξ³ΞΉΞ± Ο„ΞΏ ΞΊΞµΞ½Ο ΞΞ•Ξ¤Ξ‘ΞΞ¥ Ο„Ο‰Ξ½
   Ξ³ΟΞ±ΞΌΞΌΟΞ½. Ξ¤ΞΏ section Ξ΄ΞµΞ½ Ξ­Ο‡ΞµΞΉ padding-bottom, ΞΏΟ€ΟΟ„Ξµ Ο„ΞΏ margin Ο„Ξ·Ο‚ Ξ¤Ξ•Ξ›Ξ•Ξ¥Ξ¤Ξ‘Ξ™Ξ‘Ξ£
   Ξ³ΟΞ±ΞΌΞΌΞ®Ο‚ Β«Ξ΄ΞΉΞ­ΟΟΞµΞµΒ» Ξ­ΞΎΟ‰ (margin collapse) ΞΊΞ±ΞΉ Ξ΄Ξ·ΞΌΞΉΞΏΟ…ΟΞ³ΞΏΟΟƒΞµ ΞΊΞµΞ½Ο ~12px Ξ±Ξ½Ξ¬ΞΌΞµΟƒΞ±
   ΟƒΟ„Ξ± sections. ΞΞ·Ξ΄ΞµΞ½Ξ―Ξ¶ΞΏΟ…ΞΌΞµ Ο„ΞΏ bottom margin Ο„Ξ·Ο‚ Ο„ΞµΞ»ΞµΟ…Ο„Ξ±Ξ―Ξ±Ο‚ top-level Ξ³ΟΞ±ΞΌΞΌΞ®Ο‚
   ΟΟƒΟ„Ξµ Ο„Ξ± sections Ξ½Ξ± Ξ±ΞΊΞΏΟ…ΞΌΟ€Ξ¬Ξ½Ξµ (Ο„ΞΏ spacing Ο„ΞΏ ΞµΞ»Ξ­Ξ³Ο‡ΞµΞΉ Ο„ΞΏ padding Ο„ΞΏΟ… section). */
.pb-section > .pb-row.row:last-child,
.pb-section > .container > .pb-row.row:last-child,
.pb-section > .container-fluid > .pb-row.row:last-child,
.pb-section > .pb-row-box:last-child,
.pb-section > .container > .pb-row-box:last-child,
.pb-section > .container-fluid > .pb-row-box:last-child {
    margin-bottom: 0 !important;   /* Ξ½ΞΉΞΊΞ¬ΞΌΞµ Ο„ΞΏ .mb-3 Ο„ΞΏΟ… Bootstrap (ΞµΞ―Ξ½Ξ±ΞΉ !important) */
}

/* Ξ£Ο„Ξ®Ξ»Ξ· (column): ΞΊΞΏΞΉΞ½Ο hook Ξ³ΞΉΞ± Ξ³ΞµΞ½ΞΉΞΊΞ¬ CSS. */
.pb-col {
    position: relative;
}

/* ===========================================================================
 * Reusable hover animations (.nq-anim-*) β€” hover.css-style.
 * Ξ“Ξ•ΞΞ™ΞΞ‘ & unscoped: ΞΏΟ€ΞΏΞΉΞΏΞ΄Ξ®Ο€ΞΏΟ„Ξµ block Ξ²Ξ¬Ξ¶ΞµΞΉ Ο„Ξ·Ξ½ class (Ο€.Ο‡. nq-anim-grow) ΟƒΟ„ΞΏ
 * ΟƒΟ„ΞΏΞΉΟ‡ΞµΞ―ΞΏ Ο„ΞΏΟ… ΞΊΞ±ΞΉ Ξ΄ΞΏΟ…Ξ»ΞµΟΞµΞΉ. Ξ§ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΞµΞ―Ο„Ξ±ΞΉ Ξ±Ο€Ο Ο„ΞΏ field type Β«animΒ».
 * ======================================================================== */
.nq-anim-grow, .nq-anim-shrink, .nq-anim-rotate, .nq-anim-grow-rotate,
.nq-anim-float, .nq-anim-sink, .nq-anim-hover,
.nq-anim-skew, .nq-anim-skew-forward, .nq-anim-skew-backward {
    transition: transform .2s ease;
}
.nq-anim-grow:hover        { transform: scale(1.1); }
.nq-anim-shrink:hover      { transform: scale(.9); }
.nq-anim-rotate:hover      { transform: rotate(4deg); }
.nq-anim-grow-rotate:hover { transform: scale(1.1) rotate(4deg); }
.nq-anim-float:hover       { transform: translateY(-8px); }
.nq-anim-sink:hover        { transform: translateY(8px); }
.nq-anim-hover:hover       { transform: translateY(-6px); }
.nq-anim-skew:hover          { transform: skew(-10deg); }
.nq-anim-skew-forward:hover  { transform-origin: 0 100%; transform: skew(-10deg); }
.nq-anim-skew-backward:hover { transform-origin: 0 100%; transform: skew(10deg); }
.nq-anim-pulse:hover        { animation: nqb-pulse 1s linear infinite; }
.nq-anim-pulse-grow:hover   { animation: nqb-pulse-grow .3s ease alternate infinite; }
.nq-anim-pulse-shrink:hover { animation: nqb-pulse-shrink .3s ease alternate infinite; }
.nq-anim-push:hover { animation: nqb-push .3s linear 1; }
.nq-anim-pop:hover  { animation: nqb-pop .3s linear 1; }
.nq-anim-hang:hover { animation: nqb-hang-sink .3s ease, nqb-hang 1.5s .3s ease-in-out infinite alternate; }
.nq-anim-wobble-h:hover  { animation: nqb-wobble-h 1s ease-in-out 1; }
.nq-anim-wobble-v:hover  { animation: nqb-wobble-v 1s ease-in-out 1; }
.nq-anim-wobble-br:hover { animation: nqb-wobble-br 1s ease-in-out 1; }
@keyframes nqb-pulse        { 25% { transform: scale(1.1); } 75% { transform: scale(.9); } }
@keyframes nqb-pulse-grow   { to { transform: scale(1.1); } }
@keyframes nqb-pulse-shrink { to { transform: scale(.9); } }
@keyframes nqb-push { 50% { transform: scale(.8); } 100% { transform: scale(1); } }
@keyframes nqb-pop  { 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
@keyframes nqb-hang-sink { to { transform: translateY(-8px); } }
@keyframes nqb-hang { 0% { transform: translateY(-8px); } 50% { transform: translateY(-4px); } 100% { transform: translateY(-8px); } }
@keyframes nqb-wobble-h { 16.65% { transform: translateX(8px); } 33.3% { transform: translateX(-6px); } 49.95% { transform: translateX(4px); } 66.6% { transform: translateX(-2px); } 83.25% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes nqb-wobble-v { 16.65% { transform: translateY(8px); } 33.3% { transform: translateY(-6px); } 49.95% { transform: translateY(4px); } 66.6% { transform: translateY(-2px); } 83.25% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes nqb-wobble-br { 16.65% { transform: translate(8px,8px); } 33.3% { transform: translate(-6px,-6px); } 49.95% { transform: translate(4px,4px); } 66.6% { transform: translate(-2px,-2px); } 83.25% { transform: translate(1px,1px); } 100% { transform: translate(0,0); } }

/* β”€β”€ SAVED SLIDER (Sliders module) β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
 * Slideshow ΞΌΞµ ΞµΞ»ΞµΟΞΈΞµΟΞ± Ο„ΞΏΟ€ΞΏΞΈΞµΟ„Ξ·ΞΌΞ­Ξ½Ξ± layers (Slider Revolution style).
 * ΞΞΉ ΞΈΞ­ΟƒΞµΞΉΟ‚ ΞµΞ―Ξ½Ξ±ΞΉ ΟƒΞµ % Ο„ΞΏΟ… ΞΊΞ±ΞΌΞ²Ξ¬ ΞΊΞ±ΞΉ Ο„Ξ± ΞΌΞµΞ³Ξ­ΞΈΞ· ΟƒΞµ cqw (container query width),
 * ΟΟƒΟ„Ξµ ΞΞ›ΞΞΞ›Ξ—Ξ΅Ξ Ο„ΞΏ slide Ξ½Ξ± ΞΊΞ»ΞΉΞΌΞ±ΞΊΟΞ½ΞµΟ„Ξ±ΞΉ Ξ±Ξ½Ξ±Ξ»ΞΏΞ³ΞΉΞΊΞ¬ ΟƒΞµ ΞΊΞ¬ΞΈΞµ ΞΏΞΈΟΞ½Ξ· β€” Ο‡Ο‰ΟΞ―Ο‚
 * ΞΎΞµΟ‡Ο‰ΟΞΉΟƒΟ„Ξ­Ο‚ Ο„ΞΉΞΌΞ­Ο‚ Ξ±Ξ½Ξ¬ breakpoint. Ξ¤ΞΏ CSS Ξ”Ξ•Ξ ΞΌΟ€ΞΏΟΞµΞ― Ξ½Ξ± ΞΌΟ€ΞµΞΉ ΟƒΟ„ΞΏ ce def:
 * Ο„Ξ± php_file blocks ΞµΟ€ΞΉΟƒΟ„ΟΞ­Ο†ΞΏΟ…Ξ½ Ο€ΟΞΉΞ½ ΟƒΟ…Ξ»Ξ»ΞµΟ‡ΞΈΞµΞ― Ο„ΞΏ scoped CSS Ο„ΞΏΟ…Ο‚.
 */
.nqrs .swiper-slide { background-repeat: no-repeat; }
.nqrs-slide-bg { position:absolute; inset:0; z-index:0; pointer-events:none; transform:translateZ(0); translate:0 var(--nq-parallax-slide-y,0px); opacity:var(--nq-scroll-slide-opacity,1); filter:var(--nqrs-bg-base-filter,) grayscale(var(--nq-scroll-slide-gray,0)) blur(var(--nq-scroll-slide-blur,0px)); will-change:transform,translate,opacity,filter; }
.nqrs-bg-filter-1977 { --nqrs-bg-base-filter:sepia(.5) hue-rotate(-30deg) saturate(1.4); }
.nqrs-bg-filter-aden { --nqrs-bg-base-filter:sepia(.2) brightness(1.15) saturate(.85) hue-rotate(20deg); }
.nqrs-bg-filter-brooklyn { --nqrs-bg-base-filter:contrast(.9) brightness(1.1); }
.nqrs-bg-filter-clarendon { --nqrs-bg-base-filter:contrast(1.2) saturate(1.35); }
.nqrs-bg-filter-earlybird { --nqrs-bg-base-filter:sepia(.4) contrast(.9) saturate(1.2); }
.nqrs-bg-filter-gingham { --nqrs-bg-base-filter:brightness(1.05) hue-rotate(-10deg); }
.nqrs-bg-filter-hudson { --nqrs-bg-base-filter:brightness(1.2) contrast(.9) saturate(1.1) hue-rotate(-10deg); }
.nqrs-bg-filter-inkwell { --nqrs-bg-base-filter:grayscale(1) contrast(1.1); }
.nqrs-bg-filter-lark { --nqrs-bg-base-filter:contrast(.9) brightness(1.1) saturate(1.2); }
.nqrs-bg-filter-lo-fi { --nqrs-bg-base-filter:saturate(1.1) contrast(1.5); }
.nqrs-bg-filter-mayfair { --nqrs-bg-base-filter:contrast(1.1) saturate(1.1); }
.nqrs-bg-filter-moon { --nqrs-bg-base-filter:grayscale(1) contrast(1.1) brightness(1.1); }
.nqrs-bg-filter-nashville { --nqrs-bg-base-filter:sepia(.2) contrast(1.2) brightness(1.05) saturate(1.2); }
.nqrs-bg-filter-perpetua { --nqrs-bg-base-filter:contrast(.9) brightness(1.1) saturate(1.1); }
.nqrs-bg-filter-reyes { --nqrs-bg-base-filter:sepia(.22) brightness(1.1) contrast(.85) saturate(.75); }
.nqrs-bg-filter-rise { --nqrs-bg-base-filter:sepia(.15) brightness(1.1) saturate(.9); }
.nqrs-bg-filter-slumber { --nqrs-bg-base-filter:saturate(.66) brightness(1.05); }
.nqrs-bg-filter-toaster { --nqrs-bg-base-filter:sepia(.35) saturate(1.3) contrast(1.1); }
.nqrs-bg-filter-walden { --nqrs-bg-base-filter:sepia(.3) brightness(1.1) saturate(1.6) hue-rotate(-10deg); }
.nqrs-bg-filter-willow { --nqrs-bg-base-filter:grayscale(.5) sepia(.2) contrast(.9) brightness(.95); }
.nqrs-bg-filter-x-pro-ii { --nqrs-bg-base-filter:sepia(.3) contrast(1.3) saturate(1.4); }
.nqrs { position: relative; }
.nqrs.nqrs-module-fixed-top { position:fixed; top:0; left:0; right:0; z-index:9998; }
.nqrs.nqrs-module-overflow-hidden { overflow:hidden; }
.nqrs.nqrs-module-overflow-visible { overflow:visible; }
.nqrs.nqrs-module-perspective .nqrs-stage,
.nqrs.nqrs-module-perspective .nqrs-static-stage { perspective:var(--nq-module-perspective,none)!important; transform-style:preserve-3d; }
.nqrs .is-nq-device-hidden { display:none!important; }
.nqrs.nqrs-has-outer-navigation { overflow:visible; }
.nqrs.nqrs-has-outer-navigation > .nqrs-tabs,
.nqrs.nqrs-has-outer-navigation > .nqrs-thumbs,
.nqrs.nqrs-has-outer-navigation > .nqrs-scrubber { pointer-events:auto; }
.nqrs > .swiper { position: relative; z-index: 1; }
.nqrs-modal { position:fixed!important; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
  box-sizing:border-box; width:100vw!important; max-width:none!important; height:100dvh!important; min-height:100dvh!important;
  margin:0!important; padding:var(--nq-modal-padding,20px)!important; overflow:auto; background:var(--nq-modal-bg,rgba(0,0,0,.78));
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--nq-modal-speed,300ms) ease,visibility var(--nq-modal-speed,300ms) ease; }
.nqrs-modal > .swiper { width:100%; max-height:calc(100dvh - (var(--nq-modal-padding,20px) * 2)); overflow:hidden;
  transition:transform var(--nq-modal-speed,300ms) ease,opacity var(--nq-modal-speed,300ms) ease; }
.nqrs-modal-top { align-items:flex-start; }.nqrs-modal-bottom { align-items:flex-end; }
.nqrs-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.nqrs-modal-fade > .swiper { opacity:0; }.nqrs-modal-fade.is-open > .swiper { opacity:1; }
.nqrs-modal-zoom > .swiper { opacity:0; transform:scale(.92); }.nqrs-modal-zoom.is-open > .swiper { opacity:1; transform:scale(1); }
.nqrs-modal-slide-up > .swiper { opacity:0; transform:translateY(36px); }.nqrs-modal-slide-up.is-open > .swiper { opacity:1; transform:translateY(0); }
.nqrs-type-carousel { padding-top:var(--nq-carousel-above,0px)!important; padding-bottom:var(--nq-carousel-below,0px)!important; }
.nqrs-type-carousel .nqrs-slide { overflow:hidden; border-radius:var(--nq-carousel-radius,0); box-shadow:var(--nq-carousel-shadow,none); }
.nqrs-type-carousel .swiper-wrapper { align-items:stretch; perspective:1200px; }
.nqrs-type-carousel .nqrs-slide { transition-property:transform,opacity; transform-style:preserve-3d; }
.nqrs-type-carousel[data-nq-carousel-layer-visibility="focus"] .nqrs-slide:not(.swiper-slide-active) .nqrs-layer { visibility:hidden; pointer-events:none; }
.nqrs-type-carousel[data-nq-carousel-layer-visibility="layer"] .nqrs-slide:not(.swiper-slide-active) .nqrs-layer:not([data-nq-carousel-always="1"]) { visibility:hidden; pointer-events:none; }
.nqrs-type-hero .swiper-button-prev,.nqrs-type-hero .swiper-button-next,.nqrs-type-hero .swiper-pagination,
.nqrs-type-hero .nqrs-progress,.nqrs-type-hero .nqrs-tabs,.nqrs-type-hero .nqrs-thumbs,.nqrs-type-hero .nqrs-scrubber { display:none!important; }
body.nq-modal-scroll-lock { overflow:hidden!important; }
@media (prefers-reduced-motion:reduce) { .nqrs-modal,.nqrs-modal > .swiper { transition-duration:0ms!important; } }
.nqrs-module-overlay { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.nqrs-static-stage {
    position: absolute; inset: 0; z-index: 6; width: 100%; box-sizing: border-box;
    padding-top: var(--nqrs-ratio, 41.67%); container-type: inline-size;
    overflow: visible; pointer-events: none;
}
.nqrs-static-overflow-hidden > .nqrs-static-stage { overflow:hidden; }
.nqrs-static-overflow-visible > .nqrs-static-stage { overflow:visible; }
.nqrs-static-back > .nqrs-static-stage { z-index:0; }
.nqrs-size-fullscreen .nqrs-static-stage { height: 100vh; padding-top: 0; }
.nqrs-static-item { display: contents; }
.nqrs-static-item[hidden] { display: none !important; }
.nqrs-static-stage .nqrs-layer { pointer-events: auto; }
.swiper-slide .nqrs-layer.nqrs-static-shadowed { visibility: hidden !important; pointer-events: none !important; }
/* Native time progress: μένει έξω από το Swiper wrapper ώστε τα surface/tile
   transitions να μην το κλωνοποιούν και να μην εμφανίζεται δεύτερο «είδωλο». */
.nqrs-progress { position:absolute; z-index:8; pointer-events:none; --nq-progress-value:0; }
.nqrs-progress-track,.nqrs-progress-fill { position:absolute; display:block; box-sizing:border-box; }
.nqrs-progress-track { background:var(--nq-progress-bg); overflow:hidden; }
.nqrs-progress-fill { inset:0; background:var(--nq-progress-color); }
.nqrs-progress.is-animated .nqrs-progress-fill { transition:transform .12s linear; }
.nqrs-progress-horizontal { left:0; right:0; height:var(--nq-progress-size); }
.nqrs-progress-horizontal.nqrs-progress-align-grid { left:var(--nq-content-inset-x,5%); right:var(--nq-content-inset-x,5%); }
.nqrs-progress-horizontal.nqrs-progress-v-top { top:var(--nq-progress-y); }
.nqrs-progress-horizontal.nqrs-progress-v-center { top:calc(50% + var(--nq-progress-y)); }
.nqrs-progress-horizontal.nqrs-progress-v-bottom { bottom:calc(0px - var(--nq-progress-y)); }
.nqrs-progress-horizontal .nqrs-progress-track { inset:0; }
.nqrs-progress-horizontal .nqrs-progress-fill { transform:scaleX(var(--nq-progress-value)); transform-origin:left center; }
.nqrs-progress-vertical { top:0; bottom:0; width:var(--nq-progress-size); }
.nqrs-progress-vertical.nqrs-progress-align-grid { top:var(--nq-content-inset-y,5%); bottom:var(--nq-content-inset-y,5%); }
.nqrs-progress-vertical.nqrs-progress-h-left { left:var(--nq-progress-x); }
.nqrs-progress-vertical.nqrs-progress-h-center { left:calc(50% + var(--nq-progress-x)); }
.nqrs-progress-vertical.nqrs-progress-h-right { right:calc(0px - var(--nq-progress-x)); }
.nqrs-progress-vertical .nqrs-progress-track { inset:0; }
.nqrs-progress-vertical .nqrs-progress-fill { transform:scaleY(var(--nq-progress-value)); transform-origin:center bottom; }
.nqrs-progress-cw,.nqrs-progress-ccw { width:calc(var(--nq-progress-radius) * 2); height:calc(var(--nq-progress-radius) * 2); }
.nqrs-progress-cw.nqrs-progress-h-left,.nqrs-progress-ccw.nqrs-progress-h-left { left:var(--nq-progress-x); }
.nqrs-progress-cw.nqrs-progress-h-center,.nqrs-progress-ccw.nqrs-progress-h-center { left:calc(50% + var(--nq-progress-x)); transform:translateX(-50%); }
.nqrs-progress-cw.nqrs-progress-h-right,.nqrs-progress-ccw.nqrs-progress-h-right { right:calc(0px - var(--nq-progress-x)); }
.nqrs-progress-cw.nqrs-progress-v-top,.nqrs-progress-ccw.nqrs-progress-v-top { top:var(--nq-progress-y); }
.nqrs-progress-cw.nqrs-progress-v-center,.nqrs-progress-ccw.nqrs-progress-v-center { top:calc(50% + var(--nq-progress-y)); margin-top:calc(var(--nq-progress-radius) * -1); }
.nqrs-progress-cw.nqrs-progress-v-bottom,.nqrs-progress-ccw.nqrs-progress-v-bottom { bottom:calc(0px - var(--nq-progress-y)); }
.nqrs-progress-cw .nqrs-progress-track,.nqrs-progress-ccw .nqrs-progress-track {
    inset:0; border-radius:50%; overflow:visible;
    background:conic-gradient(var(--nq-progress-color) calc(var(--nq-progress-value) * 1turn),var(--nq-progress-bg) 0);
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--nq-progress-size)),#000 0);
    mask:radial-gradient(farthest-side,transparent calc(100% - var(--nq-progress-size)),#000 0);
}
.nqrs-progress-ccw .nqrs-progress-track { transform:scaleX(-1); }
.nqrs-progress-cw .nqrs-progress-fill,.nqrs-progress-ccw .nqrs-progress-fill { display:none; }
.nqrs-progress-gap-mark { position:absolute; z-index:2; display:block; background:var(--nq-progress-gap-color); }
.nqrs-progress-horizontal .nqrs-progress-gap-mark { top:0; bottom:0; left:var(--nq-progress-gap-position); width:var(--nq-progress-gap-size); transform:translateX(-50%); }
.nqrs-progress-vertical .nqrs-progress-gap-mark { left:0; right:0; bottom:var(--nq-progress-gap-position); height:var(--nq-progress-gap-size); transform:translateY(50%); }
.nqrs-progress-cw .nqrs-progress-gap-mark,.nqrs-progress-ccw .nqrs-progress-gap-mark {
    left:calc(50% - var(--nq-progress-gap-size) / 2); top:0; width:var(--nq-progress-gap-size); height:50%;
    transform:rotate(var(--nq-progress-gap-angle)); transform-origin:50% 100%;
}
.nqrs-loading > .swiper { visibility: hidden; }
.nqrs-preloader {
    position: absolute; left: 50%; top: 50%; z-index: 5; width: 42px; height: 42px;
    display: flex; align-items: center; justify-content: center;
    transform: translate(-50%, -50%); color: var(--nq-spinner, #fff);
    transition: opacity .2s ease;
}
.nqrs-preloader-done { opacity: 0; }
.nqrs-preloader .nqrs-spinkit { flex: 0 0 auto; }
.nqrs-preloader i { display: block; background: currentColor; }
.nqrs-preloader-1 { border: 4px solid color-mix(in srgb, currentColor 22%, transparent);
    border-top-color: currentColor; border-radius: 50%; animation: nqrs-spinner-rotate .75s linear infinite; }
.nqrs-preloader-1 i { display: none; }
.nqrs-preloader-2 { gap: 5px; }
.nqrs-preloader-2 i { width: 7px; height: 7px; border-radius: 50%; animation: nqrs-spinner-dot .9s ease-in-out infinite; }
.nqrs-preloader-2 i:nth-child(2) { animation-delay: .12s; }
.nqrs-preloader-2 i:nth-child(3) { animation-delay: .24s; }
.nqrs-preloader-2 i:nth-child(4) { display: none; }
.nqrs-preloader-3 i:first-child { width: 24px; height: 24px; border-radius: 50%; animation: nqrs-spinner-pulse .85s ease-in-out infinite; }
.nqrs-preloader-3 i:not(:first-child) { display: none; }
.nqrs-preloader-4 { gap: 4px; }
.nqrs-preloader-4 i { width: 5px; height: 24px; animation: nqrs-spinner-bar .85s ease-in-out infinite; }
.nqrs-preloader-4 i:nth-child(2) { animation-delay: .1s; }
.nqrs-preloader-4 i:nth-child(3) { animation-delay: .2s; }
.nqrs-preloader-4 i:nth-child(4) { animation-delay: .3s; }
@keyframes nqrs-spinner-rotate { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes nqrs-spinner-dot { 0%, 100% { opacity:.28; transform:scale(.72); } 50% { opacity:1; transform:scale(1); } }
@keyframes nqrs-spinner-pulse { 0%, 100% { opacity:.35; transform:scale(.7); } 50% { opacity:1; transform:scale(1.08); } }
@keyframes nqrs-spinner-bar { 0%, 100% { opacity:.3; transform:scaleY(.55); } 50% { opacity:1; transform:scaleY(1); } }
.nqrs-size-auto { width: auto; }
.nqrs-size-fullwidth { width: 100%; }
.nqrs-size-fullscreen { width: 100%; min-height:var(--nqrs-fullscreen-height,100vh); }
.nqrs-size-fullscreen .nqrs-stage { height:var(--nqrs-fullscreen-height,100vh); padding-top:0; }
.nqrs.nqrs-fixed-breakpoint-height .nqrs-stage,
.nqrs.nqrs-fixed-breakpoint-height .nqrs-static-stage { height:var(--nqrs-fixed-height); padding-top:0; }
.nqrs.nqrs-runtime-height .nqrs-stage,
.nqrs.nqrs-runtime-height .nqrs-static-stage { height:var(--nqrs-runtime-height); padding-top:0; }
.nqrs-slide-link {
    position:absolute; inset:0; display:block; margin:0; padding:0;
    background:transparent; color:inherit; text-decoration:none; cursor:pointer;
}
.nqrs-slide-link-back { z-index:1; }
.nqrs-slide-link-front { z-index:3; }
.nqrs-slide-link:focus-visible { outline:2px solid currentColor; outline-offset:-4px; }
.nqrs-stage {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: var(--nqrs-ratio, 41.67%);   /* ΞΊΟΞ±Ο„Ξ¬ Ο„Ξ·Ξ½ Ξ±Ξ½Ξ±Ξ»ΞΏΞ³Ξ―Ξ± Ο„ΞΏΟ… ΞΊΞ±ΞΌΞ²Ξ¬ */
    container-type: inline-size;              /* Ξ²Ξ¬ΟƒΞ· Ξ³ΞΉΞ± Ο„Ξ± cqw Ο„Ο‰Ξ½ layers */
}
.nqrs-layer {
    position: absolute;
    box-sizing: border-box;
    margin: 0;
    opacity: var(--nqrs-base-opacity, 1);
    filter: var(--nqrs-adv-filter, none);
}
.nqrs-layer.nq-hover-runtime { cursor:var(--nq-hover-cursor,auto); pointer-events:var(--nq-hover-pointer,auto); }
.nqrs-layer.nq-hover-enabled {
    transition-property:transform,opacity,filter,color,background-color,border-color,border-width;
    transition-duration:var(--nq-hover-duration,300ms); transition-timing-function:var(--nq-hover-ease,ease-in-out);
}
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop):not(.animated):hover {
    transform:var(--nq-hover-transform,none) !important; transform-origin:var(--nq-hover-origin,50% 50%) !important;
    opacity:var(--nq-hover-opacity,1) !important; filter:var(--nq-hover-filter,none) !important;
    z-index:var(--nq-hover-z,1) !important;
}
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-color:not(.animated):hover,
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-color:not(.animated):hover > .nqrs-btn { color:var(--nq-hover-color) !important; }
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-bg:not(.animated):hover,
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-bg:not(.animated):hover > .nqrs-btn { background-color:var(--nq-hover-bg) !important; }
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-decoration:not(.animated):hover,
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-decoration:not(.animated):hover > .nqrs-btn { text-decoration:var(--nq-hover-decoration) !important; }
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-border:not(.animated):hover,
.nqrs-layer.nq-hover-enabled:not(.nq-hover-desktop).nq-hover-border:not(.animated):hover > .nqrs-btn {
    border-color:var(--nq-hover-border-color,transparent) !important;
    border-style:var(--nq-hover-border-style,none) !important;
    border-width:var(--nq-hover-border-width,0) !important;
}
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop:not(.animated):hover {
        transform:var(--nq-hover-transform,none) !important; transform-origin:var(--nq-hover-origin,50% 50%) !important;
        opacity:var(--nq-hover-opacity,1) !important; filter:var(--nq-hover-filter,none) !important;
        z-index:var(--nq-hover-z,1) !important;
}
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-color:not(.animated):hover,
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-color:not(.animated):hover > .nqrs-btn { color:var(--nq-hover-color) !important; }
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-bg:not(.animated):hover,
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-bg:not(.animated):hover > .nqrs-btn { background-color:var(--nq-hover-bg) !important; }
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-decoration:not(.animated):hover,
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-decoration:not(.animated):hover > .nqrs-btn { text-decoration:var(--nq-hover-decoration) !important; }
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-border:not(.animated):hover,
.nqrs.nqrs-hover-desktop-active .nqrs-layer.nq-hover-enabled.nq-hover-desktop.nq-hover-border:not(.animated):hover > .nqrs-btn {
        border-color:var(--nq-hover-border-color,transparent) !important;
        border-style:var(--nq-hover-border-style,none) !important;
        border-width:var(--nq-hover-border-width,0) !important;
}
@media (prefers-reduced-motion:reduce) { .nqrs-layer.nq-hover-enabled { transition-duration:0ms !important; } }
.nqrs-layer.nq-has-content-overlay { isolation:isolate; }
.nqrs-layer.nq-has-content-overlay::after {
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit;
    background-color:var(--nq-overlay-gap,transparent);
}
.nqrs-layer[data-nq-overlay^="dotted"]::after { background-image:radial-gradient(circle,var(--nq-overlay-dot,#fff) 1px,transparent 1.2px); background-size:var(--nq-overlay-size,8px) var(--nq-overlay-size,8px); }
.nqrs-layer[data-nq-overlay="dotted-medium"]::after { background-image:radial-gradient(circle,var(--nq-overlay-dot,#fff) 2px,transparent 2.2px); }
.nqrs-layer[data-nq-overlay="dotted-large"]::after { background-image:radial-gradient(circle,var(--nq-overlay-dot,#fff) 3px,transparent 3.2px); }
.nqrs-layer[data-nq-overlay^="horizontal"]::after { background-image:repeating-linear-gradient(0deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="horizontal-medium"]::after { background-image:repeating-linear-gradient(0deg,var(--nq-overlay-dot,#fff) 0 2px,transparent 2px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="horizontal-large"]::after { background-image:repeating-linear-gradient(0deg,var(--nq-overlay-dot,#fff) 0 3px,transparent 3px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay^="vertical"]::after { background-image:repeating-linear-gradient(90deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="vertical-medium"]::after { background-image:repeating-linear-gradient(90deg,var(--nq-overlay-dot,#fff) 0 2px,transparent 2px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="vertical-large"]::after { background-image:repeating-linear-gradient(90deg,var(--nq-overlay-dot,#fff) 0 3px,transparent 3px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay^="circles"]::after { background-image:radial-gradient(circle,transparent 0 30%,var(--nq-overlay-dot,#fff) 32% 42%,transparent 44%); background-size:var(--nq-overlay-size,8px) var(--nq-overlay-size,8px); }
.nqrs-layer[data-nq-overlay="circles-medium"]::after { background-image:radial-gradient(circle,transparent 0 22%,var(--nq-overlay-dot,#fff) 25% 48%,transparent 51%); }
.nqrs-layer[data-nq-overlay="diagonal-1"]::after { background-image:repeating-linear-gradient(45deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="diagonal-2"]::after { background-image:repeating-linear-gradient(-45deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="diagonal-3"]::after { background-image:repeating-linear-gradient(30deg,var(--nq-overlay-dot,#fff) 0 2px,transparent 2px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="diagonal-4"]::after { background-image:repeating-linear-gradient(-30deg,var(--nq-overlay-dot,#fff) 0 2px,transparent 2px var(--nq-overlay-size,8px)); }
.nqrs-layer[data-nq-overlay="cross"]::after { background-image:repeating-linear-gradient(0deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)),repeating-linear-gradient(90deg,var(--nq-overlay-dot,#fff) 0 1px,transparent 1px var(--nq-overlay-size,8px)); }

.nq-sharp-corner { isolation:isolate; overflow:visible !important; }
.nq-sharp-corner::before,
.nq-sharp-corner::after {
    content:""; position:absolute; top:0; width:auto; height:100%; aspect-ratio:1 / 1;
    background:var(--nq-sharp-color,transparent); pointer-events:none;
}
.nqrs-btn.nq-sharp-corner { position:relative; display:inline-block; }
.nq-sharp-left-normal::before { right:100%; clip-path:polygon(100% 0,100% 100%,0 100%); }
.nq-sharp-left-reverse::before { right:100%; clip-path:polygon(0 0,100% 0,100% 100%); }
.nq-sharp-right-normal::after { left:100%; clip-path:polygon(0 0,100% 0,0 100%); }
.nq-sharp-right-reverse::after { left:100%; clip-path:polygon(0 0,100% 100%,0 100%); }

.nqrs-no-layer-selection .nqrs-layer { user-select: none; -webkit-user-select: none; }
.nqrs-parallax .nqrs-slide { background-position-y: calc(50% + var(--nq-parallax-bg-y, 0px)) !important; }
.nqrs-parallax .nqrs-stage { perspective:var(--nq-parallax-perspective, none); }
.nqrs-parallax .nqrs-layer {
    translate: var(--nq-parallax-layer-x, 0px) var(--nq-parallax-layer-y, 0px) var(--nq-parallax-layer-z, 0px);
    transition:translate var(--nq-parallax-tween, 0ms) ease-out;
}
.nqrs-layer.nq-under-mask { z-index:0 !important; }
.nqrs-scroll-effects > .swiper {
    opacity: var(--nq-scroll-opacity, 1);
    transform: scale(var(--nq-scroll-scale, 1));
    filter: blur(var(--nq-scroll-blur, 0px));
    transform-origin: center center;
    will-change: opacity, transform, filter;
}
.nqrs-layer[data-nq-scroll-filter] {
    filter:var(--nqrs-adv-filter,) opacity(var(--nq-scroll-layer-opacity, 1)) grayscale(var(--nq-scroll-layer-gray, 0)) blur(var(--nq-scroll-layer-blur, 0px));
}
.nqrs-scroll-fixed { position:sticky; top:0; z-index:2; }
.nqrs-scroll-hold-enabled.is-nq-scroll-hold-active { position:sticky; z-index:2; }
.nqrs-scroll-hold-enabled.is-nq-scroll-hold-active[data-nq-scrollholdalign="top"] { top:0; bottom:auto; }
.nqrs-scroll-hold-enabled.is-nq-scroll-hold-active[data-nq-scrollholdalign="bottom"] { top:auto; bottom:0; }
.nqrs-scroll-hold-enabled.is-nq-scroll-hold-active[data-nq-scrollholdalign="travel"],
.nqrs-scroll-hold-enabled.is-nq-scroll-hold-active[data-nq-scrollholdmode="advanced"] { top:var(--nq-scroll-hold-top,0px); bottom:auto; }
.nqrs[data-nq-scrolltimeline="1"] > .swiper {
    transition-duration:var(--nq-scroll-speed, 0ms);
    transition-timing-function:var(--nq-scroll-easing, linear);
}
@media (prefers-reduced-motion: reduce) {
    .nqrs-scroll-effects > .swiper { opacity:1; transform:none; filter:none; }
    .nqrs-layer[data-nq-scroll-filter] { --nq-scroll-layer-opacity:1 !important; --nq-scroll-layer-gray:0 !important; --nq-scroll-layer-blur:0px !important; }
}
.nqrs-l-text, .nqrs-l-heading { white-space: pre-wrap; }
.nqrs-l-image img { display: block; width: 100%; height: auto; }
.nqrs-btn {
    display: inline-block;
    text-decoration: none !important;
    line-height: 1.2;
    background: #111827;
    color: #fff;
}
.nqrs-l-shape { border-radius: inherit; }

/* Ξ¤Ξ± layers ΞΎΞµΞΊΞΉΞ½ΞΏΟΞ½ Ξ±ΟΟΞ±Ο„Ξ± ΞΞΞΞ Ξ±Ξ½ Ξ­Ο‡ΞΏΟ…Ξ½ animation β€” Ξ±Ξ»Ξ»ΞΉΟΟ‚ ΞΈΞ± Β«Ξ­ΟƒΞ²Ξ·Ξ½Ξ±Ξ½Β»
   ΟƒΞµ browsers Ο‡Ο‰ΟΞ―Ο‚ JS Ξ® Ξ±Ξ½ Ξ±Ο€ΞΏΟ„ΟΟ‡ΞµΞΉ Ο„ΞΏ Swiper. */
.nqrs-layer[data-nq-lanim] { opacity: 0; }
.nqrs-layer[data-nq-lanim].nqrs-in { opacity: var(--nqrs-base-opacity, 1); }
.nqrs-layer[data-nq-split] { opacity:0; }
.nqrs-layer[data-nq-split].is-split-ready { opacity:var(--nqrs-base-opacity, 1); }
.nqrs-split-unit { display:inline-block; opacity:0; will-change:transform,opacity; }
.nqrs-split-done .nqrs-split-unit { opacity:1; }
@media (prefers-reduced-motion: reduce) {
    .nqrs-layer[data-nq-lanim] { opacity: var(--nqrs-base-opacity, 1) !important; animation: none !important; }
    .nqrs-layer[data-nq-split] { opacity:var(--nqrs-base-opacity, 1) !important; }
    .nqrs-split-unit { opacity:1 !important; animation:none !important; }
}

/* ==========================================================================
 * Ξ’ΞµΞ»Ξ¬ΞΊΞΉΞ± slider: ΞΞ§Ξ™ swiper-icons.
 * Ξ¤ΞΏ Swiper ΟƒΟ‡ΞµΞ΄ΞΉΞ¬Ξ¶ΞµΞΉ Ο„Ξ± Ξ²ΞµΞ»Ξ¬ΞΊΞΉΞ± ΞΌΞµ LIGATURE β€” Ο„ΞΏ ::after Ξ­Ο‡ΞµΞΉ content:"next"
 * ΞΊΞ±ΞΉ Ξ· Ξ³ΟΞ±ΞΌΞΌΞ±Ο„ΞΏΟƒΞµΞΉΟΞ¬ swiper-icons Ο„ΞΏ ΞΌΞµΟ„Ξ±Ο„ΟΞ­Ο€ΞµΞΉ ΟƒΞµ Ξ²Ξ­Ξ»ΞΏΟ‚. Ξ”ΟΞΏ Ο€ΟΞ¬Ξ³ΞΌΞ±Ο„Ξ± Ο„ΞΏ
 * ΟƒΟ€Ξ¬Ξ½Ξµ ΞµΞ΄Ο: (Ξ±) Ο„ΞΏ theme ΞΏΟΞ―Ξ¶ΞµΞΉ font-feature-settings:"liga" 0, Ο€ΞΏΟ… Ξ±ΞΊΟ…ΟΟΞ½ΞµΞΉ
 * Ο„Ξ± ligatures, ΞΊΞ±ΞΉ (Ξ²) Ξ· swiper-icons Ξ΄Ξ·Ξ»ΟΞ½ΞµΞΉ Β«loadedΒ» Ξ±Ξ»Ξ»Ξ¬ Ξ΄ΞµΞ½ Ξ±Ο€ΞΏΞ΄Ξ―Ξ΄ΞµΞΉ glyph
 * (ΞΌΞµΟ„ΟΞ·ΞΌΞ­Ξ½ΞΏ: Ο„ΞΏ Β«nextΒ» Ο€ΞΉΞ¬Ξ½ΞµΞΉ Ξ―Ξ΄ΞΉΞΏ Ο€Ξ»Ξ¬Ο„ΞΏΟ‚ ΞΌΞµ ΟƒΞΊΞ­Ο„ΞΏ sans-serif). Ξ‘Ο€ΞΏΟ„Ξ­Ξ»ΞµΟƒΞΌΞ±:
 * ΞΊΞµΞ½ΞΏΞ― ΞΊΟΞΊΞ»ΞΏΞΉ Ο‡Ο‰ΟΞ―Ο‚ Ξ²Ξ­Ξ»ΞΏΟ‚.
 * Ξ›ΟΟƒΞ·: feather, Ο€ΞΏΟ… Ο‡ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΞµΞ― ΞΊΞ±Ξ½ΞΏΞ½ΞΉΞΊΞ¬ codepoints β€” ΞΊΞ±ΞΌΞ―Ξ± ΞµΞΎΞ¬ΟΟ„Ξ·ΟƒΞ· Ξ±Ο€Ο
 * ligatures, ΞΊΞ±ΞΉ ΞµΞ―Ξ½Ξ±ΞΉ Ξ®Ξ΄Ξ· Ο†ΞΏΟΟ„Ο‰ΞΌΞ­Ξ½Ξ· Ο€Ξ±Ξ½Ο„ΞΏΟ ΟƒΟ„ΞΏ site.
 * ======================================================================== */
.nqsl .swiper-button-prev::after,
.nqsl .swiper-button-next::after,
.nqrs .swiper-button-prev::after,
.nqrs .swiper-button-next::after {
    font-family: 'feather' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    speak: never;
}
.nqsl .swiper-button-prev::after,
.nqrs .swiper-button-prev::after { content: "\e92e" !important; }   /* chevron-left  */
.nqsl .swiper-button-next::after,
.nqrs .swiper-button-next::after { content: "\e92f" !important; }   /* chevron-right */

/* Module Navigation / Arrows. Οι selectors υπερισχύουν των σταθερών
   διαστάσεων του Swiper και επιτρέπουν ανεξάρτητο layout ανά πλευρά. */
.nqrs .nqrs-arrow { width:var(--nqsl-arrow-size); height:var(--nqsl-arrow-size); margin:0;
    border-radius:3px; color:var(--nqsl-arrow); background:var(--nqsl-arrow-bg);
    transition:opacity var(--nqrs-arrow-show-speed) ease,transform var(--nqrs-arrow-show-speed) ease;
    opacity:1; box-sizing:border-box; }
.nqrs .nqrs-arrow::after { font-size:calc(var(--nqsl-arrow-size) * .48); }
.nqrs .nqrs-arrow-preview { position:absolute; z-index:-1; top:50%; width:var(--nqrs-nav-preview-width); height:var(--nqrs-nav-preview-height); border:1px solid rgba(255,255,255,.72); border-radius:3px; background-position:center; background-size:cover; background-repeat:no-repeat; box-shadow:0 4px 18px rgba(0,0,0,.32); opacity:0; pointer-events:none; transform:translateY(-50%) scale(.96); transition:opacity .18s ease,transform .18s ease; }
.nqrs .nqrs-arrow-prev .nqrs-arrow-preview { left:calc(100% + 8px); }
.nqrs .nqrs-arrow-next .nqrs-arrow-preview { right:calc(100% + 8px); }
.nqrs .nqrs-arrow:hover .nqrs-arrow-preview,.nqrs .nqrs-arrow:focus-visible .nqrs-arrow-preview { opacity:1; transform:translateY(-50%) scale(1); }
.nqrs .nqrs-arrow.is-nq-preview-disabled .nqrs-arrow-preview { display:none; }
.nqrs .nqrs-arrow-h-left { left:var(--nqrs-arrow-x); right:auto; }
.nqrs .nqrs-arrow-h-center { left:calc(50% + var(--nqrs-arrow-x)); right:auto; transform:translateX(-50%); }
.nqrs .nqrs-arrow-h-right { right:calc(0px - var(--nqrs-arrow-x)); left:auto; }
.nqrs .nqrs-arrow-v-top { top:var(--nqrs-arrow-y); bottom:auto; }
.nqrs .nqrs-arrow-v-center { top:calc(50% + var(--nqrs-arrow-y)); bottom:auto; margin-top:calc(var(--nqsl-arrow-size) * -.5); }
.nqrs .nqrs-arrow-v-bottom { top:auto; bottom:calc(0px - var(--nqrs-arrow-y)); }
.nqrs .nqrs-arrow-align-content.nqrs-arrow-h-left { left:calc(var(--nq-content-inset-x,5%) + var(--nqrs-arrow-x)); }
.nqrs .nqrs-arrow-align-content.nqrs-arrow-h-right { right:calc(var(--nq-content-inset-x,5%) - var(--nqrs-arrow-x)); }
.nqrs .nqrs-arrow-align-content.nqrs-arrow-v-top { top:calc(var(--nq-content-inset-y,5%) + var(--nqrs-arrow-y)); }
.nqrs .nqrs-arrow-align-content.nqrs-arrow-v-bottom { bottom:calc(var(--nq-content-inset-y,5%) - var(--nqrs-arrow-y)); }
.nqrs .nqrs-arrow-style-arrow::after { content:"←" !important; font-family:Arial,sans-serif !important; font-size:calc(var(--nqsl-arrow-size) * .55); }
.nqrs .nqrs-arrow-next.nqrs-arrow-style-arrow::after { content:"→" !important; }
.nqrs .nqrs-arrow-style-caret::after { content:"‹" !important; font-family:Arial,sans-serif !important; font-size:calc(var(--nqsl-arrow-size) * .75); }
.nqrs .nqrs-arrow-next.nqrs-arrow-style-caret::after { content:"›" !important; }
.nqrs.nqrs-arrows-rtl .nqrs-arrow-prev::after { content:"\e92f" !important; }
.nqrs.nqrs-arrows-rtl .nqrs-arrow-next::after { content:"\e92e" !important; }
.nqrs .nqrs-arrow.is-nq-arrow-hidden { opacity:0; pointer-events:none; }
.nqrs .nqrs-arrow-animation-slide.nqrs-arrow-prev.is-nq-arrow-hidden { transform:translateX(-18px); }
.nqrs .nqrs-arrow-animation-slide.nqrs-arrow-next.is-nq-arrow-hidden { transform:translateX(18px); }
.nqrs .nqrs-arrow-animation-zoom.is-nq-arrow-hidden { transform:scale(.65); }
.nqrs .nqrs-arrow-animation-none { transition:none; }
.nqrs .nqrs-bullets { z-index:10; display:flex; width:auto; height:auto; max-width:calc(100% - 20px);
    max-height:calc(100% - 20px); gap:var(--nqrs-bullet-gap); overflow:hidden; pointer-events:auto;
    transition:opacity var(--nqrs-bullet-show-speed) ease,translate var(--nqrs-bullet-show-speed) ease,scale var(--nqrs-bullet-show-speed) ease; }
.nqrs .nqrs-bullets-horizontal { flex-direction:row; align-items:center; }
.nqrs .nqrs-bullets-vertical { flex-direction:column; align-items:center; }
.nqrs .nqrs-bullets-rtl.nqrs-bullets-horizontal { flex-direction:row-reverse; }
.nqrs .nqrs-bullets-rtl.nqrs-bullets-vertical { flex-direction:column-reverse; }
.nqrs .nqrs-bullets-h-left { left:var(--nqrs-bullet-x)!important; right:auto!important; }
/* Το Swiper δηλώνει left:0 με πιο ειδικό selector. Χωρίς ρητή υπερίσχυση,
   το translateX(-50%) μετακινεί ολόκληρη τη μπάρα μισό slider αριστερά. */
.nqrs .nqrs-bullets-h-center { left:calc(50% + var(--nqrs-bullet-x))!important; right:auto!important; transform:translateX(-50%); }
.nqrs .nqrs-bullets-h-right { right:var(--nqrs-bullet-x)!important; left:auto!important; }
.nqrs .nqrs-bullets-v-top { top:var(--nqrs-bullet-y); bottom:auto; }
.nqrs .nqrs-bullets-v-center { top:calc(50% + var(--nqrs-bullet-y)); bottom:auto; transform:translateY(-50%); }
.nqrs .nqrs-bullets-h-center.nqrs-bullets-v-center { transform:translate(-50%,-50%); }
.nqrs .nqrs-bullets-v-bottom { top:auto; bottom:var(--nqrs-bullet-y); }
.nqrs .nqrs-bullets-align-content.nqrs-bullets-h-left { left:calc(var(--nq-content-inset-x,5%) + var(--nqrs-bullet-x)); }
.nqrs .nqrs-bullets-align-content.nqrs-bullets-h-right { right:calc(var(--nq-content-inset-x,5%) + var(--nqrs-bullet-x)); }
.nqrs .nqrs-bullets-align-content.nqrs-bullets-v-top { top:calc(var(--nq-content-inset-y,5%) + var(--nqrs-bullet-y)); }
.nqrs .nqrs-bullets-align-content.nqrs-bullets-v-bottom { bottom:calc(var(--nq-content-inset-y,5%) + var(--nqrs-bullet-y)); }
.nqrs .nqrs-bullets .swiper-pagination-bullet { position:relative; box-sizing:border-box; width:var(--nqrs-bullet-size);
    height:var(--nqrs-bullet-size); flex:0 0 auto; margin:0!important; padding:0; appearance:none; cursor:pointer; border:0; border-radius:50%;
    background:var(--nqsl-dot); opacity:1; }
.nqrs .nqrs-bullets .swiper-pagination-bullet-active,
.nqrs .nqrs-bullets .swiper-pagination-bullet:hover,
.nqrs .nqrs-bullets .swiper-pagination-bullet:focus-visible { background:var(--nqsl-dot-active); }
.nqrs .nqrs-bullets .swiper-pagination-bullet:focus-visible { outline:2px solid var(--nqsl-dot-active); outline-offset:3px; }
.nqrs .nqrs-bullets-style-ring .swiper-pagination-bullet { border:2px solid var(--nqsl-dot); background:transparent; }
.nqrs .nqrs-bullets-style-ring .swiper-pagination-bullet-active,
.nqrs .nqrs-bullets-style-ring .swiper-pagination-bullet:hover,
.nqrs .nqrs-bullets-style-ring .swiper-pagination-bullet:focus-visible { border-color:var(--nqsl-dot-active); background:var(--nqsl-dot-active); }
.nqrs .nqrs-bullets-style-bar .swiper-pagination-bullet { width:calc(var(--nqrs-bullet-size) * 2); border-radius:999px; }
.nqrs .nqrs-bullets.is-nq-bullets-hidden { opacity:0; pointer-events:none; }
.nqrs .nqrs-bullets-animation-left.is-nq-bullets-hidden { translate:-18px 0; }
.nqrs .nqrs-bullets-animation-right.is-nq-bullets-hidden { translate:18px 0; }
.nqrs .nqrs-bullets-animation-top.is-nq-bullets-hidden { translate:0 -18px; }
.nqrs .nqrs-bullets-animation-bottom.is-nq-bullets-hidden { translate:0 18px; }
.nqrs .nqrs-bullets-animation-zoom-in.is-nq-bullets-hidden { scale:.65; }
.nqrs .nqrs-bullets-animation-zoom-out.is-nq-bullets-hidden { scale:1.35; }
.nqrs .nqrs-bullets.is-nq-bullets-width-hidden { display:none!important; }
.nqrs .nqrs-bullets-titles .swiper-pagination-bullet::after { content:attr(data-nq-title); position:absolute;
    left:50%; bottom:calc(100% + 8px); width:max-content; max-width:220px; padding:5px 7px; border-radius:3px;
    color:var(--nqrs-bullet-title-color); background:var(--nqrs-bullet-title-bg); font-size:var(--nqrs-bullet-title-size);
    line-height:1.25; white-space:normal; opacity:0; pointer-events:none; transform:translateX(-50%); }
.nqrs .nqrs-bullets-titles .swiper-pagination-bullet:hover::after,
.nqrs .nqrs-bullets-titles .swiper-pagination-bullet:focus-visible::after { opacity:1; }
.nqrs .nqrs-tabs { position:absolute; z-index:11; display:flex; box-sizing:border-box; gap:var(--nqrs-tab-gap);
  padding:var(--nqrs-tab-padding); background:var(--nqrs-tab-wrapper); overflow:auto; scrollbar-width:none;
  pointer-events:auto; font-family:var(--nqrs-tab-font); transition:opacity var(--nqrs-tab-speed) ease,translate var(--nqrs-tab-speed) ease,scale var(--nqrs-tab-speed) ease; }
.nqrs .nqrs-tabs::-webkit-scrollbar { display:none; }
.nqrs .nqrs-tabs-horizontal { flex-direction:row; max-width:min(var(--nqrs-tab-window-w),calc(100% - 20px)); }
.nqrs .nqrs-tabs-vertical { flex-direction:column; max-height:min(var(--nqrs-tab-window-h),calc(100% - 20px)); }
.nqrs .nqrs-tabs-rtl.nqrs-tabs-horizontal { flex-direction:row-reverse; }
.nqrs .nqrs-tabs-rtl.nqrs-tabs-vertical { flex-direction:column-reverse; }
.nqrs .nqrs-tabs-span.nqrs-tabs-horizontal { left:10px!important; right:10px!important; max-width:none; }
.nqrs .nqrs-tabs-span.nqrs-tabs-vertical { top:10px!important; bottom:10px!important; max-height:none; }
.nqrs .nqrs-tabs-h-left { left:calc(var(--nqrs-tab-x) + var(--nqrs-tab-mask-x)); right:auto; }
.nqrs .nqrs-tabs-h-center { left:calc(50% + var(--nqrs-tab-x) + var(--nqrs-tab-mask-x)); right:auto; transform:translateX(-50%); }
.nqrs .nqrs-tabs-h-right { right:calc(var(--nqrs-tab-x) - var(--nqrs-tab-mask-x)); left:auto; }
.nqrs .nqrs-tabs-v-top { top:calc(var(--nqrs-tab-y) + var(--nqrs-tab-mask-y)); bottom:auto; }
.nqrs .nqrs-tabs-v-center { top:calc(50% + var(--nqrs-tab-y) + var(--nqrs-tab-mask-y)); bottom:auto; transform:translateY(-50%); }
.nqrs .nqrs-tabs-h-center.nqrs-tabs-v-center { transform:translate(-50%,-50%); }
.nqrs .nqrs-tabs-v-bottom { bottom:calc(var(--nqrs-tab-y) - var(--nqrs-tab-mask-y)); top:auto; }
.nqrs .nqrs-tabs-align-content.nqrs-tabs-h-left { left:calc(var(--nq-content-inset-x,5%) + var(--nqrs-tab-x) + var(--nqrs-tab-mask-x)); }
.nqrs .nqrs-tabs-align-content.nqrs-tabs-h-right { right:calc(var(--nq-content-inset-x,5%) + var(--nqrs-tab-x) - var(--nqrs-tab-mask-x)); }
.nqrs .nqrs-tabs-align-content.nqrs-tabs-v-top { top:calc(var(--nq-content-inset-y,5%) + var(--nqrs-tab-y) + var(--nqrs-tab-mask-y)); }
.nqrs .nqrs-tabs-align-content.nqrs-tabs-v-bottom { bottom:calc(var(--nq-content-inset-y,5%) + var(--nqrs-tab-y) - var(--nqrs-tab-mask-y)); }
.nqrs .nqrs-tabs-outer-vertical.nqrs-tabs-v-top { translate:0 -100%; }
.nqrs .nqrs-tabs-outer-vertical.nqrs-tabs-v-bottom { translate:0 100%; }
.nqrs .nqrs-tabs-outer-horizontal.nqrs-tabs-h-left { translate:-100% 0; }
.nqrs .nqrs-tabs-outer-horizontal.nqrs-tabs-h-right { translate:100% 0; }
.nqrs .nqrs-tab { box-sizing:border-box; display:flex; align-items:center; gap:10px; width:var(--nqrs-tab-width);
  min-width:var(--nqrs-tab-min-width); height:var(--nqrs-tab-height); flex:0 0 var(--nqrs-tab-width); padding:9px;
  border:var(--nqrs-tab-border-size) solid var(--nqrs-tab-border); border-radius:0; background:var(--nqrs-tab-bg);
  color:var(--nqrs-tab-title); text-align:left; cursor:pointer; }
.nqrs .nqrs-tab:hover,.nqrs .nqrs-tab:focus-visible,.nqrs .nqrs-tab.is-active { background:var(--nqrs-tab-hover); }
.nqrs .nqrs-tab-image { width:var(--nqrs-tab-image-size); height:var(--nqrs-tab-image-size); flex:0 0 var(--nqrs-tab-image-size); background:center/cover no-repeat; }
.nqrs .nqrs-tab-copy { display:grid; min-width:0; gap:4px; }
.nqrs .nqrs-tab-copy b { overflow:hidden; color:var(--nqrs-tab-title); font-size:var(--nqrs-tab-title-size); line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.nqrs .nqrs-tab-copy small { overflow:hidden; color:var(--nqrs-tab-param); font-size:var(--nqrs-tab-param-size); line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.nqrs .nqrs-tabs-style-media .nqrs-tab { border-radius:3px; box-shadow:0 2px 8px rgba(0,0,0,.18); }
.nqrs .nqrs-tabs-style-underline .nqrs-tab { border-width:0 0 var(--nqrs-tab-border-size); }
.nqrs .nqrs-tabs.is-nq-tabs-hidden { opacity:0; pointer-events:none; }
.nqrs .nqrs-tabs-animation-left.is-nq-tabs-hidden { translate:-18px 0; }
.nqrs .nqrs-tabs-animation-right.is-nq-tabs-hidden { translate:18px 0; }
.nqrs .nqrs-tabs-animation-top.is-nq-tabs-hidden { translate:0 -18px; }
.nqrs .nqrs-tabs-animation-bottom.is-nq-tabs-hidden { translate:0 18px; }
.nqrs .nqrs-tabs-animation-zoom-in.is-nq-tabs-hidden { scale:.65; }
.nqrs .nqrs-tabs-animation-zoom-out.is-nq-tabs-hidden { scale:1.35; }
.nqrs .nqrs-tabs.is-nq-tabs-width-hidden { display:none!important; }
.nqrs .nqrs-thumbs { position:absolute; z-index:12; display:flex; box-sizing:border-box; gap:var(--nqrs-thumb-gap);
  padding:var(--nqrs-thumb-padding); background:var(--nqrs-thumb-wrapper,transparent); overflow:auto; scrollbar-width:none; pointer-events:auto;
  transition:opacity var(--nqrs-thumb-speed) ease,translate var(--nqrs-thumb-speed) ease,scale var(--nqrs-thumb-speed) ease; }
.nqrs .nqrs-thumbs::-webkit-scrollbar { display:none; }
.nqrs .nqrs-thumbs-horizontal { flex-direction:row; max-width:min(var(--nqrs-thumb-window-w),calc(100% - 20px)); }
.nqrs .nqrs-thumbs-vertical { flex-direction:column; max-height:min(var(--nqrs-thumb-window-h),calc(100% - 20px)); }
.nqrs .nqrs-thumbs-rtl.nqrs-thumbs-horizontal { flex-direction:row-reverse; }
.nqrs .nqrs-thumbs-rtl.nqrs-thumbs-vertical { flex-direction:column-reverse; }
.nqrs .nqrs-thumbs-span.nqrs-thumbs-horizontal { left:10px!important; right:10px!important; max-width:none; }
.nqrs .nqrs-thumbs-span.nqrs-thumbs-vertical { top:10px!important; bottom:10px!important; max-height:none; }
.nqrs .nqrs-thumbs-h-left { left:calc(var(--nqrs-thumb-x) + var(--nqrs-thumb-mask-x)); right:auto; }
.nqrs .nqrs-thumbs-h-center { left:calc(50% + var(--nqrs-thumb-x) + var(--nqrs-thumb-mask-x)); right:auto; transform:translateX(-50%); }
.nqrs .nqrs-thumbs-h-right { right:calc(var(--nqrs-thumb-x) - var(--nqrs-thumb-mask-x)); left:auto; }
.nqrs .nqrs-thumbs-v-top { top:calc(var(--nqrs-thumb-y) + var(--nqrs-thumb-mask-y)); bottom:auto; }
.nqrs .nqrs-thumbs-v-center { top:calc(50% + var(--nqrs-thumb-y) + var(--nqrs-thumb-mask-y)); bottom:auto; transform:translateY(-50%); }
.nqrs .nqrs-thumbs-h-center.nqrs-thumbs-v-center { transform:translate(-50%,-50%); }
.nqrs .nqrs-thumbs-v-bottom { bottom:calc(var(--nqrs-thumb-y) - var(--nqrs-thumb-mask-y)); top:auto; }
.nqrs .nqrs-thumbs-align-content.nqrs-thumbs-h-left { left:calc(var(--nq-content-inset-x,5%) + var(--nqrs-thumb-x) + var(--nqrs-thumb-mask-x)); }
.nqrs .nqrs-thumbs-align-content.nqrs-thumbs-h-right { right:calc(var(--nq-content-inset-x,5%) + var(--nqrs-thumb-x) - var(--nqrs-thumb-mask-x)); }
.nqrs .nqrs-thumbs-align-content.nqrs-thumbs-v-top { top:calc(var(--nq-content-inset-y,5%) + var(--nqrs-thumb-y) + var(--nqrs-thumb-mask-y)); }
.nqrs .nqrs-thumbs-align-content.nqrs-thumbs-v-bottom { bottom:calc(var(--nq-content-inset-y,5%) + var(--nqrs-thumb-y) - var(--nqrs-thumb-mask-y)); }
.nqrs .nqrs-thumbs-outer-vertical.nqrs-thumbs-v-top { translate:0 -100%; }
.nqrs .nqrs-thumbs-outer-vertical.nqrs-thumbs-v-bottom { translate:0 100%; }
.nqrs .nqrs-thumbs-outer-horizontal.nqrs-thumbs-h-left { translate:-100% 0; }
.nqrs .nqrs-thumbs-outer-horizontal.nqrs-thumbs-h-right { translate:100% 0; }
.nqrs .nqrs-thumb { position:relative; box-sizing:border-box; width:var(--nqrs-thumb-width); min-width:var(--nqrs-thumb-min-width);
  height:var(--nqrs-thumb-height); flex:0 0 var(--nqrs-thumb-width); padding:0; overflow:hidden; border:2px solid rgba(255,255,255,.65);
  background:#252a31; cursor:pointer; opacity:.7; }
.nqrs .nqrs-thumb-image { position:absolute; inset:0; display:block; background:#252a31 center/cover no-repeat; transition:scale .25s ease; }
.nqrs .nqrs-thumb > span { position:absolute; z-index:1; inset:auto 0 0; padding:8px; overflow:hidden; background:var(--nqrs-thumb-title-bg);
  color:var(--nqrs-thumb-title); font-size:var(--nqrs-thumb-title-size); text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.nqrs .nqrs-thumb:hover,.nqrs .nqrs-thumb:focus-visible,.nqrs .nqrs-thumb.is-active { border-color:#fff; opacity:1; }
.nqrs .nqrs-thumb:hover .nqrs-thumb-image,.nqrs .nqrs-thumb.is-active .nqrs-thumb-image { scale:1.04; }
.nqrs .nqrs-thumbs-style-filmstrip .nqrs-thumb { border-width:0 0 4px; border-color:transparent; border-radius:0; }
.nqrs .nqrs-thumbs-style-filmstrip .nqrs-thumb.is-active { border-color:var(--nq-primary,#7c5cff); }
.nqrs .nqrs-thumbs-style-minimal .nqrs-thumb { border:0; border-radius:4px; }
.nqrs .nqrs-thumbs.is-nq-thumbs-hidden { opacity:0; pointer-events:none; }
.nqrs .nqrs-thumbs-animation-left.is-nq-thumbs-hidden { translate:-18px 0; }
.nqrs .nqrs-thumbs-animation-right.is-nq-thumbs-hidden { translate:18px 0; }
.nqrs .nqrs-thumbs-animation-top.is-nq-thumbs-hidden { translate:0 -18px; }
.nqrs .nqrs-thumbs-animation-bottom.is-nq-thumbs-hidden { translate:0 18px; }
.nqrs .nqrs-thumbs-animation-zoom-in.is-nq-thumbs-hidden { scale:.65; }
.nqrs .nqrs-thumbs-animation-zoom-out.is-nq-thumbs-hidden { scale:1.35; }
.nqrs .nqrs-thumbs.is-nq-thumbs-width-hidden { display:none!important; }

/* Scrubber: το range είναι το προσβάσιμο interaction layer και το ορατό handle
   ακολουθεί την ίδια τιμή, χωρίς δεύτερο timer ή ξεχωριστή κατάσταση. */
.nqrs .nqrs-scrubber { position:absolute; z-index:13; box-sizing:border-box; min-width:var(--nqrs-scrubber-min-width); width:max(var(--nqrs-scrubber-width),var(--nqrs-scrubber-min-size));
  height:var(--nqrs-scrubber-height); padding:var(--nqrs-scrubber-padding); background:var(--nqrs-scrubber-wrapper); pointer-events:auto;
  scale:var(--nqrs-scrubber-scale); transition:opacity var(--nqrs-scrubber-speed) ease,translate var(--nqrs-scrubber-speed) ease,scale var(--nqrs-scrubber-speed) ease; }
.nqrs .nqrs-scrubber-vertical { width:var(--nqrs-scrubber-height); min-width:0; height:max(var(--nqrs-scrubber-width),var(--nqrs-scrubber-min-size)); min-height:var(--nqrs-scrubber-min-width); }
.nqrs .nqrs-scrubber-track { position:absolute; inset:calc(var(--nqrs-scrubber-padding) + var(--nqrs-scrubber-gap)); overflow:hidden; border-radius:999px; background:var(--nqrs-scrubber-bg); }
.nqrs .nqrs-scrubber-fill { position:absolute; inset:0 auto 0 0; width:var(--nqrs-scrubber-value); background:var(--nqrs-scrubber-progress); opacity:0; }
.nqrs .nqrs-scrubber-progress .nqrs-scrubber-fill { opacity:1; }
.nqrs .nqrs-scrubber-progress-center .nqrs-scrubber-fill { left:50%; width:calc(var(--nqrs-scrubber-value) - 50%); transform-origin:left; }
.nqrs .nqrs-scrubber-progress-right .nqrs-scrubber-fill { left:auto; right:0; width:calc(100% - var(--nqrs-scrubber-value)); }
.nqrs .nqrs-scrubber-vertical .nqrs-scrubber-fill { inset:auto 0 0; width:auto; height:var(--nqrs-scrubber-value); }
.nqrs .nqrs-scrubber[data-nq-scrubber-pattern="dots"] .nqrs-scrubber-track { background-color:var(--nqrs-scrubber-bg); background-image:radial-gradient(circle,var(--nqrs-scrubber-pattern) 1px,transparent 1.5px); background-size:8px 8px; }
.nqrs .nqrs-scrubber[data-nq-scrubber-pattern="hlines"] .nqrs-scrubber-track { background-color:var(--nqrs-scrubber-bg); background-image:repeating-linear-gradient(0deg,transparent 0 5px,var(--nqrs-scrubber-pattern) 5px 6px); }
.nqrs .nqrs-scrubber[data-nq-scrubber-pattern="vlines"] .nqrs-scrubber-track { background-color:var(--nqrs-scrubber-bg); background-image:repeating-linear-gradient(90deg,transparent 0 5px,var(--nqrs-scrubber-pattern) 5px 6px); }
.nqrs .nqrs-scrubber-handle { position:absolute; z-index:2; left:var(--nqrs-scrubber-value); top:50%; width:var(--nqrs-scrubber-height); height:var(--nqrs-scrubber-height);
  translate:-50% -50%; scale:var(--nqrs-scrubber-handle-scale); transform:skewX(var(--nqrs-scrubber-skew)); overflow:hidden; border:2px solid rgba(255,255,255,.7); border-radius:4px;
  background:var(--nqrs-scrubber-handle); opacity:var(--nqrs-scrubber-handle-opacity); box-shadow:0 2px 10px rgba(0,0,0,.28); transition:scale .2s ease,rotate .2s ease,transform .2s ease,opacity .2s ease; }
.nqrs .nqrs-scrubber-vertical .nqrs-scrubber-handle { left:50%; top:calc(100% - var(--nqrs-scrubber-value)); }
.nqrs .nqrs-scrubber-handle i { position:absolute; inset:0; display:none; background-position:calc(50% + var(--nqrs-scrubber-thumb-offset)) 50%; background-size:cover; background-repeat:no-repeat; scale:var(--nqrs-scrubber-thumb-scale); }
.nqrs .nqrs-scrubber-thumbnail .nqrs-scrubber-handle i { display:block; }
.nqrs .nqrs-scrubber-handle b { position:absolute; inset:0; display:none; place-items:center; color:var(--nqrs-scrubber-arrow); font:700 var(--nqrs-scrubber-arrow-size)/1 sans-serif; letter-spacing:var(--nqrs-scrubber-arrow-space); text-indent:var(--nqrs-scrubber-arrow-space); text-shadow:0 1px 3px #000; }
.nqrs .nqrs-scrubber-arrows .nqrs-scrubber-handle b { display:grid; }
.nqrs .nqrs-scrubber-hover-scale:hover .nqrs-scrubber-handle,.nqrs .nqrs-scrubber:focus-within .nqrs-scrubber-handle { scale:calc(var(--nqrs-scrubber-handle-scale) * 1.12); }
.nqrs .nqrs-scrubber-spin:active .nqrs-scrubber-handle { rotate:180deg; }
.nqrs .nqrs-scrubber-handle-scale-animation.is-dragging .nqrs-scrubber-handle { scale:calc(var(--nqrs-scrubber-handle-scale) * 1.16); }
.nqrs .nqrs-scrubber-horizontal.is-dragging .nqrs-scrubber-handle { transform:skewX(var(--nqrs-scrubber-skew)) translateY(calc(0px - var(--nqrs-scrubber-handle-translate))); }
.nqrs .nqrs-scrubber-vertical.is-dragging .nqrs-scrubber-handle { transform:skewX(var(--nqrs-scrubber-skew)) translateX(var(--nqrs-scrubber-handle-translate)); }
.nqrs .nqrs-scrubber input[type="range"] { position:absolute; z-index:3; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.nqrs .nqrs-scrubber-vertical input[type="range"] { writing-mode:vertical-lr; direction:rtl; cursor:ns-resize; }
.nqrs .nqrs-scrubber-style-thin-bar { --nqrs-scrubber-height:12px; }
.nqrs .nqrs-scrubber-style-thin-bar .nqrs-scrubber-handle { width:20px; height:20px; border-radius:50%; }
.nqrs .nqrs-scrubber-style-nereus .nqrs-scrubber-track { border:1px solid rgba(255,255,255,.65); }
.nqrs .nqrs-scrubber-style-nereus .nqrs-scrubber-handle { border-radius:50%; }
.nqrs .nqrs-scrubber-style-hades .nqrs-scrubber-handle { border-radius:0; rotate:45deg; }
.nqrs .nqrs-scrubber-style-pleroma .nqrs-scrubber-track { border-radius:2px; }
.nqrs .nqrs-scrubber-style-pleroma .nqrs-scrubber-handle { width:8px; border-radius:2px; }
.nqrs .nqrs-scrubber-h-left { left:var(--nqrs-scrubber-x); right:auto; }.nqrs .nqrs-scrubber-h-center { left:calc(50% + var(--nqrs-scrubber-x)); right:auto; transform:translateX(-50%); }.nqrs .nqrs-scrubber-h-right { right:calc(0px - var(--nqrs-scrubber-x)); left:auto; }
.nqrs .nqrs-scrubber-v-top { top:var(--nqrs-scrubber-y); bottom:auto; }.nqrs .nqrs-scrubber-v-center { top:calc(50% + var(--nqrs-scrubber-y)); bottom:auto; transform:translateY(-50%); }.nqrs .nqrs-scrubber-h-center.nqrs-scrubber-v-center { transform:translate(-50%,-50%); }.nqrs .nqrs-scrubber-v-bottom { bottom:calc(0px - var(--nqrs-scrubber-y)); top:auto; }
.nqrs .nqrs-scrubber-align-content.nqrs-scrubber-h-left { left:calc(var(--nq-content-inset-x,5%) + var(--nqrs-scrubber-x)); }.nqrs .nqrs-scrubber-align-content.nqrs-scrubber-h-right { right:calc(var(--nq-content-inset-x,5%) - var(--nqrs-scrubber-x)); }
.nqrs .nqrs-scrubber-align-content.nqrs-scrubber-v-top { top:calc(var(--nq-content-inset-y,5%) + var(--nqrs-scrubber-y)); }.nqrs .nqrs-scrubber-align-content.nqrs-scrubber-v-bottom { bottom:calc(var(--nq-content-inset-y,5%) - var(--nqrs-scrubber-y)); }
.nqrs .nqrs-scrubber-outer-vertical.nqrs-scrubber-v-top { translate:0 -100%; }.nqrs .nqrs-scrubber-outer-vertical.nqrs-scrubber-v-bottom { translate:0 100%; }
.nqrs .nqrs-scrubber-outer-horizontal.nqrs-scrubber-h-left { translate:-100% 0; }.nqrs .nqrs-scrubber-outer-horizontal.nqrs-scrubber-h-right { translate:100% 0; }
.nqrs .nqrs-scrubber-span.nqrs-scrubber-horizontal { left:10px!important; right:10px!important; width:auto; transform:none; }.nqrs .nqrs-scrubber-span.nqrs-scrubber-vertical { top:10px!important; bottom:10px!important; height:auto; transform:none; }
.nqrs .nqrs-scrubber.is-nq-scrubber-hidden { opacity:0; pointer-events:none; }.nqrs .nqrs-scrubber-animation-left.is-nq-scrubber-hidden { translate:-18px 0; }.nqrs .nqrs-scrubber-animation-right.is-nq-scrubber-hidden { translate:18px 0; }
.nqrs .nqrs-scrubber-animation-top.is-nq-scrubber-hidden { translate:0 -18px; }.nqrs .nqrs-scrubber-animation-bottom.is-nq-scrubber-hidden { translate:0 18px; }.nqrs .nqrs-scrubber-animation-zoom-in.is-nq-scrubber-hidden { scale:.65; }.nqrs .nqrs-scrubber-animation-zoom-out.is-nq-scrubber-hidden { scale:1.35; }
.nqrs .nqrs-scrubber.is-nq-scrubber-width-hidden { display:none!important; }

/* ==========================================================================
 * TABS β€” Ο,Ο„ΞΉ Ξ”Ξ•Ξ Ξ΄Ξ―Ξ½ΞµΞΉ Ο„ΞΏ Bootstrap: Ξ±Ο€ΟΟƒΟ„Ξ±ΟƒΞ· ΞΌΟ€Ξ¬ΟΞ±Ο‚/Ο€ΞµΟΞΉΞµΟ‡ΞΏΞΌΞ­Ξ½ΞΏΟ…, Ο‡ΟΟΞΌΞ±
 * Ο„ΟΞ½ΞΏΟ…, ΞΊΞ¬ΞΈΞµΟ„Ξ· Ξ΄ΞΉΞ¬Ο„Ξ±ΞΎΞ·. Ξ— ΞµΞ½Ξ±Ξ»Ξ»Ξ±Ξ³Ξ® ΞΊΞ±ΞΉ Ξ· Ξ²Ξ±ΟƒΞΉΞΊΞ® ΞµΞΌΟ†Ξ¬Ξ½ΞΉΟƒΞ· ΞµΞ―Ξ½Ξ±ΞΉ Bootstrap.
 * ======================================================================== */
.nqtabs { --nqtb-gap: 16px; }
/* Ξ¤ΞΏ ΞΊΞµΞ½Ο ΞΌΟ€Ξ¬ΟΞ±Ο‚/Ο€ΞµΟΞΉΞµΟ‡ΞΏΞΌΞ­Ξ½ΞΏΟ… ΞΌΟ€Ξ±Ξ―Ξ½ΞµΞΉ ΞΞ•Ξ£Ξ‘ ΟƒΟ„ΞΏ pane, Ο‰Ο‚ padding-top.
   Ξ©Ο‚ margin-top ΟƒΟ„ΞΏ .nqtabs-panes Ξ®Ο„Ξ±Ξ½ Ξ•ΞΞ© Ξ±Ο€Ο Ο„ΞΏ Ο†ΟΞ½Ο„ΞΏ Ο„ΞΏΟ… tab, ΞΏΟ€ΟΟ„Ξµ
   Ξ±Ξ½Ξ¬ΞΌΞµΟƒΞ± ΟƒΟ„Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® Ο„Ξ·Ο‚ ΞΌΟ€Ξ¬ΟΞ±Ο‚ ΞΊΞ±ΞΉ ΟƒΟ„ΞΏ Ο‡ΟΟΞΌΞ± Ο„ΞΏΟ… tab Ξ­ΞΌΞµΞ½Ξµ Ξ»Ο‰ΟΞ―Ξ΄Ξ± ΞΌΞµ Ο„ΞΏ
   Ξ±Ο€Ο ΞΊΞ¬Ο„Ο‰ Ο†ΟΞ½Ο„ΞΏ. ΞΟ„ΟƒΞΉ Ο„ΞΏ Ο‡ΟΟΞΌΞ± Ο„ΞΏΟ… tab ΞΊΞΏΞ»Ξ»Ξ¬ΞµΞΉ ΟƒΟ„Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® ΞΊΞ±ΞΉ Ο„ΞΏ ΞΊΞµΞ½Ο
   Ξ³Ξ―Ξ½ΞµΟ„Ξ±ΞΉ ΞµΟƒΟ‰Ο„ΞµΟΞΉΞΊΟΟ‚ Ξ±Ξ­ΟΞ±Ο‚. Ξ¤ΞΏ inline Design Ο„ΞΏΟ… tab Ο„ΞΏ Ο…Ο€ΞµΟΞΉΟƒΟ‡ΟΞµΞΉ. */
.nqtabs .nqtabs-panes > .nqtab { padding-top: var(--nqtb-gap); }

/* Ξ§ΟΟΞΌΞ± Ο„ΟΞ½ΞΏΟ…: ΞµΞ½ΞµΟΞ³Ο tab + underline. Ξ§ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΞµΞ― Ο„ΞΉΟ‚ ΞΌΞµΟ„Ξ±Ξ²Ξ»Ξ·Ο„Ξ­Ο‚ Ο„ΞΏΟ…
   Bootstrap, ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΌΞ·Ξ½ Ο€Ξ±Ξ»ΞµΟΞΏΟ…ΞΌΞµ ΞΌΞµ specificity ΟƒΞµ ΞΊΞ¬ΞΈΞµ Ο€Ξ±ΟΞ±Ξ»Ξ»Ξ±Ξ³Ξ®. */
.nqtabs .nqtabs-nav {
    --bs-nav-link-color: var(--nqtb-fg, inherit);
    --bs-nav-pills-link-active-bg: var(--nqtb-accent, #6c5ffc);
    --bs-nav-underline-link-active-color: var(--nqtb-accent, #6c5ffc);
    --bs-nav-tabs-link-active-color: var(--nqtb-accent, #6c5ffc);
}

/* ΞΞ¬ΞΈΞµΟ„Ξ±: ΞΌΟ€Ξ¬ΟΞ± Ξ±ΟΞΉΟƒΟ„ΞµΟΞ¬, Ο€ΞµΟΞΉΞµΟ‡ΟΞΌΞµΞ½ΞΏ Ξ΄ΞµΞΎΞΉΞ¬. */
/* Το flex πάει στο .nqtabs-inner, όχι στο .nqtabs: το εξωτερικό κρατά μόνο το
   Design (padding/background), και αν το κάναμε flex το padding του θα άλλαζε
   νόημα και η μπάρα θα κολλούσε στο περιεχόμενο. */
.nqtabs[data-nq-vertical]:not([data-nq-vertical=""]) > .nqtabs-inner {
    display: flex;
    align-items: flex-start;
    gap: var(--nqtb-gap);
}
.nqtabs[data-nq-vertical]:not([data-nq-vertical=""]) .nqtabs-nav  { flex: 0 0 auto; min-width: 160px; }
.nqtabs[data-nq-vertical]:not([data-nq-vertical=""]) .nqtabs-panes { flex: 1 1 auto; min-width: 0; }
/* ΞΞ¬ΞΈΞµΟ„Ξ±: Ο„ΞΏ ΞΊΞµΞ½Ο ΞµΞ―Ξ½Ξ±ΞΉ ΞΞ΅Ξ™Ξ–ΞΞΞ¤Ξ™Ξ (Ο„ΞΏ Ξ΄Ξ―Ξ½ΞµΞΉ Ο„ΞΏ gap Ο„ΞΏΟ… flex), ΞΏΟ€ΟΟ„Ξµ ΞΌΞ·Ξ΄Ξ­Ξ½ΞΉΟƒΞµ
   Ο„ΞΏ ΞµΟƒΟ‰Ο„ΞµΟΞΉΞΊΟ padding-top β€” Ξ±Ξ»Ξ»ΞΉΟΟ‚ Ο„ΞΏ Ο€ΞµΟΞΉΞµΟ‡ΟΞΌΞµΞ½ΞΏ ΞΈΞ± ΞΊΞ±Ο„Ξ­Ξ²Ξ±ΞΉΞ½Ξµ Ξ¬ΟƒΞΊΞΏΟ€Ξ±. */
.nqtabs[data-nq-vertical]:not([data-nq-vertical=""]) .nqtabs-panes > .nqtab { padding-top: 0; }

/* Ξ ΟΞΉΞ½ Ο„ΟΞ­ΞΎΞµΞΉ Ξ· nqTabs() Ξ΄ΞµΞ―ΞΎΞµ Ο„ΞΏ Ο€ΟΟΟ„ΞΏ pane, ΟΟƒΟ„Ξµ Ξ½Ξ± ΞΌΞ· Ο†Ξ±Ξ―Ξ½ΞµΟ„Ξ±ΞΉ Ξ¬Ξ΄ΞµΞΉΞΏ ΞΊΞΏΟ…Ο„Ξ―.
   ΞΞ΅Ξ™Ξ£Ξ™ΞΞ: ΞΌΟΞ½ΞΏ ΟΟƒΞΏ Ξ›Ξ•Ξ™Ξ Ξ•Ξ™ Ο„ΞΏ data-nq-ready. Ξ Ξ±Ξ»ΞΉΟΟ„ΞµΟΞ± ΞµΞ΄Ο Ο…Ο€Ξ®ΟΟ‡Ξµ ΞΊΞ±Ξ½ΟΞ½Ξ±Ο‚ ΞΌΞµ
   Ξ³ΞµΞΉΟ„ΞΏΞ½ΞΉΞΊΟ Β«~Β» Ο€ΞΏΟ… ΞΊΟΟΞ²ΞµΞΉ Ο„Ξ± ΞµΟ€ΟΞΌΞµΞ½Ξ± panes ΟΟ„Ξ±Ξ½ Ο„ΞΏ Ο€ΟΟΟ„ΞΏ Ξ΄ΞµΞ½ ΞµΞ―Ξ½Ξ±ΞΉ active β€”
   Ξ΄Ξ·Ξ»Ξ±Ξ΄Ξ® Ξ±ΞΊΟΞΉΞ²ΟΟ‚ ΞΌΟΞ»ΞΉΟ‚ Ξ¬Ξ»Ξ»Ξ±Ξ¶ΞµΟ‚ tab, ΞµΞΎΞ±Ο†Ξ¬Ξ½ΞΉΞ¶Ξµ Ξ±Ο…Ο„Ο Ο€ΞΏΟ… ΞΌΟΞ»ΞΉΟ‚ Ξ¬Ξ½ΞΏΞΉΞΎΞµΟ‚.
   ΞΟΞ»ΞΉΟ‚ Ξ· JS ΟƒΞ·ΞΌΞ¬Ξ½ΞµΞΉ Ξ­Ο„ΞΏΞΉΞΌΞΏ, Ο„Ξ·Ξ½ ΞΏΟΞ±Ο„ΟΟ„Ξ·Ο„Ξ± Ο„Ξ·Ξ½ ΞµΞ»Ξ­Ξ³Ο‡ΞµΞΉ ΞΞΞΞ Ο„ΞΏ Bootstrap. */
.nqtabs:not([data-nq-ready]) .nqtabs-panes > .nqtab:first-child { display: block; }

/* Ξ¦Ο‰Ξ»ΞΉΞ±ΟƒΞΌΞ­Ξ½Ξ· Ξ³ΟΞ±ΞΌΞΌΞ® ΞΌΞ­ΟƒΞ± ΟƒΞµ tab: Ο„ΞΏ Bootstrap .row Ο†Ξ­ΟΞ½ΞµΞΉ margin -12px Ξ±ΟΞΉΟƒΟ„ΞµΟΞ¬
 * ΞΊΞ±ΞΉ Ξ΄ΞµΞΎΞΉΞ¬, ΞΏΟ€ΟΟ„Ξµ ΞΎΞ­Ο†ΞµΟ…Ξ³Ξµ Ξ±Ο€Ο Ο„ΞΏ padding Ο„ΞΏΟ… pane β€” ΞΌΞµΟ„ΟΞ·ΞΌΞ­Ξ½ΞΏ, Ξ±ΞΊΟΞΉΞ²ΟΟ‚ 12px
 * ΞΊΞ¬ΞΈΞµ Ο€Ξ»ΞµΟ…ΟΞ¬. ΞΞ΄ΞΉΞ± ΞΈΞµΟΞ±Ο€ΞµΞ―Ξ± ΞΌΞµ Ο„ΞΏ .pb-row-box-solid Ο„Ο‰Ξ½ sections/rows:
 * ΞΌΞ·Ξ΄ΞµΞ½Ξ―Ξ¶ΞΏΟ…ΞΌΞµ ΞΞΞΞ Ο„Ξ± Ο€Ξ»Ξ¬Ξ³ΞΉΞ± marginsΒ· Ο„Ξ± gutters Ο„Ο‰Ξ½ ΟƒΟ„Ξ·Ξ»ΟΞ½ ΞΌΞ­Ξ½ΞΏΟ…Ξ½ Ο‰Ο‚ Ξ­Ο‡ΞΏΟ…Ξ½. */
.nqtab > .row,
.nqtab > .pb-row-box > .pb-row.row,
.nqtab > .pb-row-box > .container > .pb-row.row {
    margin-left: 0;
    margin-right: 0;
}
/* Ξ Ξ΅ΞΞ£ΞΞ§Ξ— ΟƒΟ„ΞΏ Ο€ΟΟΟ„ΞΏ: Ξ΄ΞµΞ½ ΞµΞ―Ξ½Ξ±ΞΉ ΞΌΟΞ½ΞΏ ΞΏΞΉ Ο†Ο‰Ξ»ΞΉΞ±ΟƒΞΌΞ­Ξ½ΞµΟ‚ Ξ³ΟΞ±ΞΌΞΌΞ­Ο‚ Ο„ΞΏΟ… builder.
   Ξ¥Ο€Ξ¬ΟΟ‡ΞΏΟ…Ξ½ ce blocks Ο€ΞΏΟ… Ξ­Ο‡ΞΏΟ…Ξ½ Β«rowΒ» ΟƒΟ„Ξ·Ξ½ Ξ™Ξ”Ξ™Ξ‘ Ξ¤ΞΞ¥Ξ£ Ξ¤Ξ— Ξ΅Ξ™Ξ–Ξ‘ β€” Ο€.Ο‡. Ο„ΞΏ Text
   Block Ξ²Ξ³Ξ±Ξ―Ξ½ΞµΞΉ Ο‰Ο‚ <div class="row B_Textblock"> β€” ΞΏΟ€ΟΟ„Ξµ Ο€Ξ±Ξ―ΟΞ½ΞΏΟ…Ξ½ ΞΊΞΉ Ξ±Ο…Ο„Ξ¬ Ο„Ξ±
   -12px Ο„ΞΏΟ… Bootstrap ΞΊΞ±ΞΉ ΞΎΞ­Ο†ΞµΟ…Ξ³Ξ±Ξ½ Ξ±Ο€Ο Ο„ΞΏ pane (ΞΌΞµΟ„ΟΞ·ΞΌΞ­Ξ½ΞΏ: pane 534β€¦1642,
   text block 522β€¦1654). Ξ§Ο‰ΟΞ―Ο‚ .container Ξ½Ξ± Ο„Ξ± Ξ±Ο€ΞΏΟΟΞΏΟ†Ξ®ΟƒΞµΞΉ, ΞΌΞ·Ξ΄ΞµΞ½Ξ―Ξ¶ΞΏΞ½Ο„Ξ±ΞΉ. */

/* Ξ¤ΞΏ ΞΈΞ­ΞΌΞ± Ο„ΞΏΟ… admin (app-*.css Ο„ΞΏΟ… SPRUKO) ΞΊΞ¬Ξ½ΞµΞΉ override ΟƒΟ„ΞΏ Bootstrap:
 *     .nav-tabs { margin: 0 -0.75rem; }
 * Ξ”ΞµΞ½ ΞµΞ―Ξ½Ξ±ΞΉ Ξ΄ΞΉΞΊΟ ΞΌΞ±Ο‚ markup ΞΏΟΟ„Ξµ Bootstrap β€” ΞµΞ―Ξ½Ξ±ΞΉ ΞΊΞ±Ξ½ΟΞ½Ξ±Ο‚ Ο„ΞΏΟ… ΞΈΞ­ΞΌΞ±Ο„ΞΏΟ‚ Ο€ΞΏΟ…
 * Ο€ΞΉΞ¬Ξ½ΞµΞΉ ΞΞ‘ΞΞ• .nav-tabs, Ξ¬ΟΞ± ΞΊΞ±ΞΉ Ο„ΞΏ block ΞΌΞ±Ο‚: Ξ· ΞΌΟ€Ξ¬ΟΞ± Ξ­Ξ²Ξ³Ξ±ΞΉΞ½Ξµ 12px Ξ­ΞΎΟ‰ Ξ±Ο€Ο
 * Ο„ΞΏ .nqtabs, ΞµΞ½Ο Ξ· Ο€ΞµΟΞΉΞΏΟ‡Ξ® Ο€ΞµΟΞΉΞµΟ‡ΞΏΞΌΞ­Ξ½ΞΏΟ… Ξ­ΞΌΞµΞ½Ξµ ΟƒΟ‰ΟƒΟ„Ξ¬ ΞΌΞ­ΟƒΞ± (ΞΌΞµΟ„ΟΞ·ΞΌΞ­Ξ½ΞΏ:
 * .nqtabs 530β€¦1646, ΞΌΟ€Ξ¬ΟΞ± 520β€¦1656).
 * Ξ™ΟƒΟ‡ΟΞµΞΉ ΞΞΞΞ ΞΌΞ­ΟƒΞ± ΟƒΟ„ΞΏΞ½ admin β€” ΟƒΟ„ΞΏ Ξ΄Ξ·ΞΌΟΟƒΞΉΞΏ frontend Ο„ΞΏ app-*.css Ξ΄ΞµΞ½
 * Ο†ΞΏΟΟ„ΟΞ½ΞµΟ„Ξ±ΞΉ, ΞΏΟ€ΟΟ„Ξµ ΞµΞΊΞµΞ― Ξ· ΞΌΟ€Ξ¬ΟΞ± Ξ®Ο„Ξ±Ξ½ Ξ®Ξ΄Ξ· ΟƒΟ‰ΟƒΟ„Ξ®. Ξ•Ο€Ξ±Ξ½Ξ±Ο†Ξ­ΟΞΏΟ…ΞΌΞµ Ο„Ξ·Ξ½ Ο„ΞΉΞΌΞ® Ο€ΞΏΟ…
 * ΞΏΟΞ―Ξ¶ΞµΞΉ Ο„ΞΏ Ξ―Ξ΄ΞΉΞΏ Ο„ΞΏ Bootstrap, Ο€ΞµΟΞΉΞΏΟΞΉΟƒΞΌΞ­Ξ½Ξ± ΟƒΟ„ΞΏ Ξ΄ΞΉΞΊΟ ΞΌΞ±Ο‚ block. */
.nqtabs .nqtabs-nav.nav-tabs { margin-left: 0 !important; margin-right: 0 !important; }

/* Ξ§ΟΟΞΌΞ± Ο„ΟΞ½ΞΏΟ… ΟƒΟ„ΞΏ Ξ•ΞΞ•Ξ΅Ξ“Ξ tab. Ξ”ΞµΞ½ Ξ±ΟΞΊΞΏΟΟƒΞ±Ξ½ ΞΏΞΉ ΞΌΞµΟ„Ξ±Ξ²Ξ»Ξ·Ο„Ξ­Ο‚ Ο„ΞΏΟ… Bootstrap
 * (--bs-nav-tabs-link-active-*): Ο„ΞΏ ΞΈΞ­ΞΌΞ± Ο„ΞΏΟ… admin Ξ²Ξ¬Ο†ΞµΞΉ Ο„ΞΏ ΞµΞ½ΞµΟΞ³Ο tab ΞΌΞµ Ξ΄ΞΉΞΊΟ
 * Ο„ΞΏΟ… ΟƒΟ„Ξ±ΞΈΞµΟΟ background (ΞΌΞµΟ„ΟΞ·ΞΌΞ­Ξ½ΞΏ #5e2dd8 ΞµΞ½Ο Ο„ΞΏ accent Ξ®Ο„Ξ±Ξ½ #8e24aa), ΞΏΟ€ΟΟ„Ξµ
 * Ξ· ΞΌΞµΟ„Ξ±Ξ²Ξ»Ξ·Ο„Ξ® Ξ­Ο†Ο„Ξ±Ξ½Ξµ ΟƒΟ„ΞΏ DOM Ξ±Ξ»Ξ»Ξ¬ Ξ΄ΞµΞ½ Ο„Ξ·Ξ½ ΞΊΞ±Ο„Ξ±Ξ½Ξ¬Ξ»Ο‰Ξ½Ξµ ΞΊΞ±Ξ½ΞµΞ―Ο‚. Ξ¤ΞΏ ΞΏΟΞ―Ξ¶ΞΏΟ…ΞΌΞµ ΟΞ·Ο„Ξ¬,
 * Ο€ΞµΟΞΉΞΏΟΞΉΟƒΞΌΞ­Ξ½Ξ± ΟƒΟ„ΞΏ block ΞΌΞ±Ο‚. */
.nqtabs .nqtabs-nav .nav-link.active,
.nqtabs .nqtabs-nav .nav-item.show > .nav-link {
    background-color: var(--nqtb-accent, #6c5ffc) !important;
    border-color: var(--nqtb-accent, #6c5ffc) !important;
    color: var(--nqtb-afg, #fff) !important;
}
/* Hover ΟƒΟ„Ξ± Ξ±Ξ½ΞµΞ½ΞµΟΞ³Ξ¬ tabs. ΞΞµΞ½Ξ® ΞΌΞµΟ„Ξ±Ξ²Ξ»Ξ·Ο„Ξ® β†’ Ο„ΞΏ var() Ξ΄Ξ―Ξ½ΞµΞΉ ΞΊΞµΞ½Ξ® Ο„ΞΉΞΌΞ® β†’ Ξ¬ΞΊΟ…ΟΞ·
   Ξ΄Ξ®Ξ»Ο‰ΟƒΞ· β†’ Ο€Ξ­Ο†Ο„ΞµΞΉ ΞΌΟΞ½Ξ· Ο„Ξ·Ο‚. Ξ†ΟΞ± Β«Ξ΄ΞµΞ½ Ο„ΞΏ ΟΟΞΉΟƒΞ±Β» = ΞΌΞ­Ξ½ΞµΞΉ Ξ· Ο€ΟΞΏΞµΟ€ΞΉΞ»ΞΏΞ³Ξ®, Ο‡Ο‰ΟΞ―Ο‚
   Ξ½Ξ± Ο‡ΟΞµΞΉΞ¬Ξ¶ΞΏΞ½Ο„Ξ±ΞΉ conditionals (Ο€ΞΏΟ… ΞΏ template engine Ξ΄ΞµΞ½ Ξ­Ο‡ΞµΞΉ). */
.nqtabs .nqtabs-nav .nav-link:not(.active):hover {
    background-color: var(--nqtb-hbg) !important;
    color: var(--nqtb-hfg) !important;
}
/* Underline & Plain: ΞΏ Ο„ΟΞ½ΞΏΟ‚ ΞµΞ―Ξ½Ξ±ΞΉ Ξ§Ξ΅Ξ©ΞΞ‘ ΞΞ•Ξ™ΞΞ•ΞΞΞ¥ ΞΊΞ±ΞΉ Ξ³ΟΞ±ΞΌΞΌΞ®, ΟΟ‡ΞΉ Ξ³Ξ­ΞΌΞΉΟƒΞΌΞ± β€”
 * Ξ±Ξ»Ξ»ΞΉΟΟ‚ Ο„Ξ± Ξ΄ΟΞΏ Ξ±Ο…Ο„Ξ¬ ΟƒΟ„Ο…Ξ» ΞΈΞ± Ξ­Ξ΄ΞµΞΉΟ‡Ξ½Ξ±Ξ½ Ξ―Ξ΄ΞΉΞ± ΞΌΞµ Ο„Ξ± Β«ΞΞ±ΟΟ„Ξ­Ξ»ΞµΟ‚Β». */
.nqtabs[data-nq-style="underline"] .nqtabs-nav .nav-link.active,
.nqtabs[data-nq-style="plain"] .nqtabs-nav .nav-link.active {
    background-color: transparent !important;
    color: var(--nqtb-accent, #6c5ffc) !important;
    border-bottom-color: var(--nqtb-accent, #6c5ffc) !important;
}

/* Ξ§ΟΟΞΌΞ± ΞΊΞµΞΉΞΌΞ­Ξ½ΞΏΟ… ΞΌΟ€Ξ¬ΟΞ±Ο‚ β€” Ξ―Ξ΄ΞΉΞΏ Ο€ΟΟΞ²Ξ»Ξ·ΞΌΞ± ΞΌΞµ Ο„ΞΏ accent: Ο„ΞΏ ΞΈΞ­ΞΌΞ± Ξ²Ξ¬Ο†ΞµΞΉ Ο„ΞΏ
 * .nav-link Ξ±Ο€ΞµΟ…ΞΈΞµΞ―Ξ±Ο‚, ΞΏΟ€ΟΟ„Ξµ Ο„ΞΏ --bs-nav-link-color Ξ±Ξ³Ξ½ΞΏΞΏΟΞ½Ο„Ξ±Ξ½. Ξ΅Ξ·Ο„Ξ¬, ΞΊΞ±ΞΉ
 * ΞΞΞΞ ΟƒΟ„Ξ± Ξ±Ξ½ΞµΞ½ΞµΟΞ³Ξ¬ (Ο„ΞΏ ΞµΞ½ΞµΟΞ³Ο Ο€Ξ±Ξ―ΟΞ½ΞµΞΉ Ο„ΞΏ Ο‡ΟΟΞΌΞ± Ο„ΞΏΟ… Ο„ΟΞ½ΞΏΟ… Ο€Ξ±ΟΞ±Ο€Ξ¬Ξ½Ο‰). */
.nqtabs .nqtabs-nav .nav-link:not(.active) {
    color: var(--nqtb-fg, inherit) !important;
}

/* Φόντο των ΚΛΕΙΣΤΩΝ tabs. Με attribute gate και όχι σκέτο var(): το
   background-color ΔΕΝ κληρονομείται, οπότε κενή μεταβλητή θα το έκανε διάφανο
   — δηλαδή «δεν το όρισα» θα έσβηνε ό,τι δίνει το θέμα. */
.nqtabs[data-nq-nbg]:not([data-nq-nbg=""]) .nqtabs-nav .nav-link:not(.active) {
    background-color: var(--nqtb-nbg) !important;
}

/* ── Στήλες ως κάρτες ──────────────────────────────────────────────────────
   Το κουτί είναι το .nqtab-card που φτιάχνει το frontend.js μέσα σε κάθε στήλη,
   ΟΧΙ το ίδιο το .col-*: εκεί το padding είναι ο gutter του Bootstrap και ένα
   φόντο θα ακουμπούσε τη διπλανή στήλη.
   Το «height:100%» στη στήλη κάνει όλες τις κάρτες ίδιου ύψους — αλλιώς η κάθε
   μία σταματούσε στο περιεχόμενό της και η σειρά έδειχνε ακατάστατη. */
/* Το attribute κάθεται στο ΙΔΙΟ το .row — είτε το έβαλε το Row settings, είτε
   το πέρασε η nqTabs από τη ρύθμιση του tab. Ένας selector καλύπτει και τα δύο. */
/* ΚΑΜΙΑ επιβολή ύψους εδώ: το αν οι κάρτες είναι ίδιου ύψους το αποφασίζει ο
   διακόπτης «Equal height» της γραμμής/section. Παλιότερα το επέβαλλα, οπότε οι
   στήλες έβγαιναν ίδιου ύψους ακόμα κι όταν ο διακόπτης ήταν κλειστός. */
.row[data-nq-cards]:not([data-nq-cards=""]) > [class*="col-"] { display: flex; }
.row[data-nq-cards]:not([data-nq-cards=""]) .nqtab-card {
    flex: 1 1 auto;
    padding: 22px;
    border-radius: 10px;
}
/* Το τελευταίο block μέσα στην κάρτα δεν χρειάζεται κάτω margin — έφτιαχνε
   άνισο κενό μέχρι το κάτω περίγραμμα. */
.nqtab-card > *:last-child { margin-bottom: 0; }

.row[data-nq-cards="plain"] .nqtab-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .09);
}
.row[data-nq-cards="shadow"] .nqtab-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .05);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .07);
}
.row[data-nq-cards="border"] .nqtab-card {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, .14);
}
.row[data-nq-cards="soft"] .nqtab-card {
    background: rgba(0, 0, 0, .035);
    border: 0;
}

/* ── Typography ────────────────────────────────────────────────────────────
   Γραμματοσειρά, μέγεθος και βάρος περνούν από attribute gate, όπως τα padding:
   ένα var() με κενή τιμή ΔΕΝ αφήνει την προηγούμενη τιμή — η ιδιότητα πέφτει
   στο initial. Για font-size αυτό θα σήμαινε «γύρνα στα 16px», δηλαδή ορατή
   αλλαγή σε κάθε block που δεν έχει ρυθμιστεί.
   Τα ΧΡΩΜΑΤΑ δεν χρειάζονται gate: το color κληρονομείται, οπότε το initial
   είναι ούτως ή άλλως «ό,τι έχει ο γονιός» — δηλαδή καμία αλλαγή. */
/* Και στα ίδια τα κουμπιά/παιδιά, όχι μόνο στο δοχείο: το θέμα ορίζει
   font-family απευθείας στο .nav-link και στα blocks, οπότε σκέτη κληρονομιά
   δεν έφτανε — μετρημένο, η μπάρα έμενε στην IBM Plex Sans. */
.nqtabs[data-nq-fh]:not([data-nq-fh=""]) .nqtabs-nav,
.nqtabs[data-nq-fh]:not([data-nq-fh=""]) .nqtabs-nav .nav-link {
    font-family: var(--nqtb-fh) !important;
}
.nqtabs[data-nq-fb]:not([data-nq-fb=""]) .nqtabs-panes,
.nqtabs[data-nq-fb]:not([data-nq-fb=""]) .nqtabs-panes * {
    font-family: var(--nqtb-fb) !important;
}

.nqtabs[data-nq-tfs]:not([data-nq-tfs=""]) .nqtabs-nav .nav-link { font-size: var(--nqtb-tfs) !important; }
.nqtabs[data-nq-tfw]:not([data-nq-tfw=""]) .nqtabs-nav .nav-link { font-weight: var(--nqtb-tfw) !important; }
.nqtabs[data-nq-atfs]:not([data-nq-atfs=""]) .nqtabs-nav .nav-link.active { font-size: var(--nqtb-atfs) !important; }
.nqtabs[data-nq-atfw]:not([data-nq-atfw=""]) .nqtabs-nav .nav-link.active { font-weight: var(--nqtb-atfw) !important; }

/* Hover στο ΕΝΕΡΓΟ tab — χωριστό από το hover των κλειστών. */
.nqtabs .nqtabs-nav .nav-link.active:hover { color: var(--nqtb-ahfg) !important; }

/* ── Χρονισμός εναλλαγής (καρτέλα «Animation») ─────────────────────────────
   Δύο κανόνες, όχι ένας: η δήλωση πάνω στο «.fade» ισχύει όταν ΦΕΥΓΕΙ το .show
   (κλείσιμο), ενώ αυτή στο «.fade.show» όταν μπαίνει (άνοιγμα). Έτσι παίρνουμε
   ξεχωριστή διάρκεια/καθυστέρηση για κάθε κατεύθυνση, όπως το WPBakery, χωρίς
   δεύτερο μηχανισμό. Κενό πεδίο → «ms» άκυρο → πέφτει στην τιμή του Bootstrap. */
/* LONGHANDS, ΟΧΙ shorthand: με «transition: opacity var(--a) var(--b) var(--c)»
   αρκεί ΜΙΑ κενή μεταβλητή για να ακυρωθεί ΟΛΗ η δήλωση — άφηνες κενή την
   καθυστέρηση κλεισίματος και έχανες και τη διάρκεια, με το transition να
   γυρίζει στο «all 0s». Μετρημένο: 900ms/120ms στις μεταβλητές, 0s στην οθόνη. */
.nqtabs .nqtabs-panes > .nqtab.fade {
    transition-property: opacity;
    transition-timing-function: var(--nqtb-aease, ease);
    transition-duration: var(--nqtb-adur);
    transition-delay: var(--nqtb-adelay);
}
/* Το κλείσιμο πατάει τις τιμές του ανοίγματος ΜΟΝΟ αν έχει δοθεί δική του τιμή —
   αλλιώς «κενό = ίδια με το άνοιγμα», όπως λέει και η επεξήγηση του πεδίου. */
.nqtabs[data-nq-adurc]:not([data-nq-adurc=""]) .nqtabs-panes > .nqtab.fade { transition-duration: var(--nqtb-adurc); }
.nqtabs[data-nq-adlyc]:not([data-nq-adlyc=""]) .nqtabs-panes > .nqtab.fade { transition-delay: var(--nqtb-adelayc); }
/* Το «.show» είναι η κατάσταση ΑΝΟΙΓΜΑΤΟΣ· χρειάζεται το ίδιο βάρος με τους
   κανόνες κλεισίματος (γι' αυτό το data-nq-tabs) και να έρχεται μετά. */
.nqtabs[data-nq-tabs] .nqtabs-panes > .nqtab.fade.show {
    transition-duration: var(--nqtb-adur);
    transition-delay: var(--nqtb-adelay);
}

/* ── Απόσταση ανάμεσα στις στήλες ενός tab ─────────────────────────────────
   Χρησιμοποιεί το --bs-gutter-x, δηλαδή τον ΔΙΚΟ του μηχανισμό του Bootstrap
   (padding μέσα στις στήλες), και ΟΧΙ column-gap: οι στήλες έχουν πλάτος σε
   ποσοστά, οπότε ένα gap θα ξεπερνούσε το 100% και η τελευταία θα τύλιγε σε νέα
   γραμμή. Το gutter δεν αλλάζει πλάτη, μόνο εσωτερικό κενό.
   Κανονικά το Bootstrap εξουδετερώνει το εξωτερικό μισό με αρνητικό margin στο
   .row — εμείς όμως το μηδενίζουμε μέσα στα tabs (αλλιώς το περιεχόμενο έβγαινε
   έξω από το κουτί), γι' αυτό αφαιρούμε ρητά το padding της πρώτης/τελευταίας. */
.nqtab[data-nq-cgap]:not([data-nq-cgap=""]) .pb-row.row {
    --bs-gutter-x: var(--nqtb-colgap);
}
.nqtab[data-nq-cgap]:not([data-nq-cgap=""]) .pb-row.row > [class*="col-"]:first-child { padding-left: 0; }
.nqtab[data-nq-cgap]:not([data-nq-cgap=""]) .pb-row.row > [class*="col-"]:last-child  { padding-right: 0; }

/* Μερικά blocks έχουν .row ΣΤΗ ΡΙΖΑ τους (π.χ. Text Block → «row B_Textblock»).
   Το Bootstrap δίνει στο .row αρνητικό margin 12px δεξιά-αριστερά, οπότε το
   περιεχόμενο ΞΕΦΕΥΓΕΙ από τη στήλη του κατά 12px σε κάθε πλευρά — και τρώει
   24px από το κενό που όρισες: ζητούσες 50 και έβλεπες 26. Το μηδενίζουμε. */
.nqtab .pb-row.row > [class*="col-"] > .row {
    margin-left: 0;
    margin-right: 0;
}

/* Εικονίδιο δίπλα στον τίτλο. Κάτι στο θέμα το άφηνε με font-size:0 — το <i>
   υπήρχε στο DOM, το ::before είχε κανονικά το glyph, αλλά μετρούσε 14x0 px,
   δηλαδή αόρατο χωρίς κανένα ίχνος στην κονσόλα. Το 1em το δένει με το μέγεθος
   των γραμμάτων του tab, ώστε να ακολουθεί την τυπογραφία της μπάρας. */
.nqtabs .nqtabs-nav .nav-link > i {
    font-size: 1em !important;
    line-height: 1 !important;
}

/* Padding των κουμπιών — ΓΙΑΤΙ ΜΕ ATTRIBUTE GATE ΚΑΙ ΟΧΙ ΣΚΕΤΟ var():
   ένα «padding-top: var(--x)» με άδειο/ανύπαρκτο --x ΔΕΝ αφήνει την προηγούμενη
   τιμή· γίνεται invalid at computed-value time και η ιδιότητα πέφτει στο initial,
   δηλαδή 0. Δηλαδή «δεν το όρισα» θα σήμαινε «μηδένισέ το», που είναι ορατή ζημιά.
   Με το gate, κενή τιμή = ο κανόνας δεν εφαρμόζεται καθόλου και μένει το Bootstrap. */
.nqtabs[data-nq-tpy]:not([data-nq-tpy=""]) .nqtabs-nav .nav-link {
    padding-top: var(--nqtb-tpy) !important;
    padding-bottom: var(--nqtb-tpy) !important;
}
.nqtabs[data-nq-tpx]:not([data-nq-tpx=""]) .nqtabs-nav .nav-link {
    padding-left: var(--nqtb-tpx) !important;
    padding-right: var(--nqtb-tpx) !important;
}
/* Το ενεργό: ένα class παραπάνω ΚΑΙ πιο κάτω, άρα κερδίζει όταν οριστεί. */
.nqtabs[data-nq-atpy]:not([data-nq-atpy=""]) .nqtabs-nav .nav-link.active {
    padding-top: var(--nqtb-atpy) !important;
    padding-bottom: var(--nqtb-atpy) !important;
}
.nqtabs[data-nq-atpx]:not([data-nq-atpx=""]) .nqtabs-nav .nav-link.active {
    padding-left: var(--nqtb-atpx) !important;
    padding-right: var(--nqtb-atpx) !important;
}

/* Το border-style μπαίνει ΜΟΝΟ όταν έχει δοθεί πάχος. Στο template ήταν σταθερό
   «solid», οπότε με κενό πάχος ο browser έβαζε το προεπιλεγμένο «medium» (3px)
   σε currentColor — χοντρό μαύρο πλαίσιο σε κάθε tabs block. Ίδιο κόλπο με τα
   υπόλοιπα κενά πεδία: το [attr] ταιριάζει και στην κενή τιμή, γι' αυτό :not. */
.nqtabs[data-nq-hbw]:not([data-nq-hbw=""]) .nqtabs-nav { border-style: solid; }
.nqtabs[data-nq-bbw]:not([data-nq-bbw=""]) .nqtabs-panes { border-style: solid; }

/* Διαχωριστική γραμμή μπάρας/περιεχομένου — η κάτω πλευρά της μπάρας. Μπαίνει
   ΜΕΤΑ από το γενικό περίγραμμα ώστε να το νικά μόνο σ' αυτή την πλευρά.
   Το χρώμα χωριστά από το πάχος: κενό πάχος = μένει η γραμμή 1px του Bootstrap
   και απλώς βάφεται· πάχος 0 = εξαφανίζεται. */
.nqtabs .nqtabs-nav.nav {
    border-bottom-color: var(--nqtb-sepc) !important;
}
.nqtabs[data-nq-sepw]:not([data-nq-sepw=""]) .nqtabs-nav.nav {
    border-bottom-style: solid !important;
    border-bottom-width: var(--nqtb-sepw) !important;
}

/* ===========================================================================
 * IMAGE SEPARATOR — να μπορεί να ΒΓΑΙΝΕΙ ΕΞΩ από το section του.
 * ---------------------------------------------------------------------------
 * Το .nqce-img_sep έχει το δικό του z-index, αλλά αυτό ΔΕΝ αρκεί: αν το section
 * έχει φόντο/overlay/effect, ο renderer τυλίγει το περιεχόμενο σε
 * .pb-sec-content { position:relative; z-index:1 } — δηλαδή ΝΕΟ stacking
 * context. Τότε το z-index της εικόνας ισχύει μόνο ΜΕΣΑ εκεί, και το επόμενο
 * section (που έχει κι αυτό το ίδιο wrapper) κερδίζει με σειρά DOM και κόβει
 * την εικόνα στη μέση.
 * Λύση: ανεβάζουμε ΟΛΟΚΛΗΡΟ το section που περιέχει διαχωριστή. Δουλεύει και
 * προς τα πάνω και προς τα κάτω, ό,τι κι αν κάνουν οι γειτονικές ενότητες.
 * ======================================================================== */
.pb-section:has(.nqce-img_sep) { position: relative; z-index: 30; }

/* Το κέλυφος του θέματος κόβει ό,τι ξεφεύγει: .app-content { overflow: clip }
 * (app-*.css του Volgh). Όταν ο διαχωριστής βγαίνει πάνω από το ΠΡΩΤΟ section
 * ή κάτω από το τελευταίο δεν υπάρχει τίποτα να τον σκεπάσει — απλώς κόβεται.
 * Ξεκλειδώνουμε ΜΟΝΟ τον κάθετο άξονα και μόνο σε σελίδες που έχουν διαχωριστή:
 * το clip στον οριζόντιο μένει ώστε τα full-bleed sections να μη βγάζουν
 * οριζόντια μπάρα κύλισης. (visible + clip είναι νόμιμος συνδυασμός — το
 * visible ΔΕΝ μετατρέπεται σε auto όταν ο άλλος άξονας είναι clip.) */
.app-content:has(.nqce-img_sep) { overflow-x: clip; overflow-y: visible; }

/* ===========================================================================
 * «Stretch row and content (no paddings)»: ΟΛΕΣ οι γραμμές χωρίς αρνητικά margins.
 * ---------------------------------------------------------------------------
 * Το .row του Bootstrap έχει margin: 0 -12px και το ακυρώνει το padding των
 * στηλών. Σε αυτό το mode όμως δεν υπάρχει padding να το απορροφήσει, οπότε
 * κάθε ΦΩΛΙΑΣΜΕΝΗ γραμμή έσπρωχνε το περιεχόμενό της 12px ΕΞΩ από το section:
 * τα γράμματα ξεκινούσαν πριν το φόντο και η εικόνα τελείωνε μετά από αυτό.
 * Ο προηγούμενος κανόνας έπιανε μόνο τις γραμμές ΠΡΩΤΟΥ επιπέδου.
 * ======================================================================== */
.pb-fw-stretch-content-nospace .pb-row.row { margin-left: 0; margin-right: 0; }

/* ===========================================================================
 * FULL-BLEED ΦΟΝΤΟ σε «Stretch row and content» (+ no paddings)
 * ---------------------------------------------------------------------------
 * Ζητούμενο: το ΦΟΝΤΟ του section να φτάνει από άκρη σε άκρη της περιοχής
 * περιεχομένου — δηλαδή να κολλάει αριστερά στο μενού και δεξιά στην άκρη του
 * παραθύρου — ΧΩΡΙΣ να μετακινηθεί το περιεχόμενο.
 *
 * Γιατί ψευδοστοιχείο και όχι αρνητικά margins στο section: τα margins θα
 * μετακινούσαν και το περιεχόμενο, και θα συγκρούονταν με τα paddings που
 * βάζει inline το tab Design. Το ::before απλώνει ΜΟΝΟ το φόντο.
 *
 * z-index:-1 + isolation:isolate → το στρώμα κάθεται πίσω από το περιεχόμενο
 * αλλά ΜΕΣΑ στο section· χωρίς το isolate θα έπεφτε πίσω από το φόντο
 * ολόκληρης της σελίδας και θα εξαφανιζόταν.
 *
 * Τα --nq-bleed-l/r τα μετράει το frontend.js (αλλάζουν όταν ανοιγοκλείνει το
 * μενού ή αλλάζει το παράθυρο).
 * ======================================================================== */
.pb-fw-stretch-content,
.pb-fw-stretch-content-nospace { isolation: isolate; }
.pb-fw-stretch-content::before,
.pb-fw-stretch-content-nospace::before {
    content: ""; position: absolute; z-index: -1; top: 0; bottom: 0;
    left:  calc(-1 * var(--nq-bleed-l, 0px));
    right: calc(-1 * var(--nq-bleed-r, 0px));
    background: inherit;
    pointer-events: none;
}
/* Εικόνα φόντου/parallax, overlay και σχήματα «Effects»: ίδιο άπλωμα, αλλιώς
   θα σταματούσαν στο παλιό πλάτος και θα φαινόταν ραφή. */
.pb-fw-stretch-content > .pb-sec-bg,
.pb-fw-stretch-content-nospace > .pb-sec-bg,
.pb-fw-stretch-content > .pb-sec-overlay,
.pb-fw-stretch-content-nospace > .pb-sec-overlay,
.pb-fw-stretch-content > .ult-vc-seperator,
.pb-fw-stretch-content-nospace > .ult-vc-seperator {
    left:  calc(-1 * var(--nq-bleed-l, 0px));
    right: calc(-1 * var(--nq-bleed-r, 0px));
    width: auto;
}

/* Parallax: ο renderer βάζει INLINE overflow:hidden στο section (PageBuilder.php
 * ~1418) για να μη ξεφεύγει το κινούμενο layer φόντου. Αυτό όμως έκοβε και τον
 * Image Separator που ΠΡΕΠΕΙ να βγαίνει έξω. Το layer .pb-sec-bg έχει ήδη δικό
 * του overflow:hidden και το background δεν ζωγραφίζει ποτέ εκτός του κουτιού
 * του — άρα το clipping στο section είναι περιττό όταν υπάρχει διαχωριστής.
 * Χρειάζεται !important επειδή η δήλωση του renderer είναι inline. */
.pb-section:has(.nqce-img_sep) { overflow: visible !important; }
/* Shared PageBuilder motion effects (powered by the slider transition registry). */
[data-nq-motion],
.nq-motion-target {
    backface-visibility: hidden;
}

.nq-motion-target {
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    [data-nq-motion] {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
    }
}
