/*
Theme Name: Edufit
Theme URI: https://edufit.hr
Author: EDUFIT-HR
Author URI: https://edufit.hr
Description: Custom WordPress theme for Edufit
Version: 1.0.0
Text Domain: edufit
*/

/* ====== VARIABLES ====== */
:root {
    /* ── Fonts ── change these to restyle the whole site */
    --font-heading: 'Bricolage Grotesque', sans-serif;
    --font-body:    'Plus Jakarta Sans', sans-serif;
    --font-italic:  'Fraunces', serif;

    /* ── Brand colors ── */
    --primary:      #274F7C; /* brand/navy */
    --primary-dark: #1C3557; /* brand/navy-dark */
    --sky:          #439AC9; /* brand/sky */
    --sky-dark:     #2e7faa; /* brand/sky hover */
    --sky-light:    #C8E6F5; /* brand/sky-light */
    --green:        #67B45D; /* brand/green */
    --green-light:  #D4EDCF; /* brand/green-light */
    --green-dark:   #4a8a4a; /* brand/green-dark (bullets) */
    /* kept as alias so existing var(--gold) references still work */
    --gold:         #439AC9;
    --gold-dark:    #2e7faa;
    /* step card backgrounds */
    --pink:         #C8E6F5; /* was pink, now sky-light */
    --yellow:       #D4EDCF; /* was yellow, now green-light */
    --teal:         #439AC9; /* was teal, now sky */
    --teal-dark:    #133737; /* dark teal text on teal cards */

    /* ── Text colors ── */
    --dark:             #231F20; /* text/primary (headings default) */
    --text:             #333333; /* text/secondary */
    --text-light:       #555555;
    --text-muted:       #6F7A85; /* text/muted */
    --text-body:        #212529; /* rich dark body copy */
    --text-subtle:      #6b7280; /* secondary descriptions */
    --text-faint:       #9ca3af; /* labels, notes */
    --text-placeholder: #aaaaaa; /* form placeholders */
    --white:            #ffffff;

    /* ── Surface ── */
    --light-bg:  #F4F8FE; /* surface/card */
    --border:    #E5E9F2; /* surface/border */
    --navy-deep: #1e3558; /* nm-card/nm-heading navy */

    /* ── Accent colors ── */
    --accent-orange: #e8623e; /* stat-decline keyword, peach stat */
    --accent-amber:  #c8900a; /* yellow stat numbers */

    /* ── Goal item accents ── */
    --goal-blue:  #7c3aed;
    --goal-cyan:  #0891b2;
    --goal-amber: #b45309;

    /* ── Type scale ── */
    --fs-page-title:    3.5rem;   /* page-level h1 at desktop */
    --fs-section-head:  2.5rem;   /* within-page section headings */
    --fs-card-head:     1.375rem; /* card/panel sub-headings */
    --fs-lead:          1.125rem; /* intro/lead paragraphs */

    --radius: 20px;
}

em, i { font-family: var(--font-italic); font-style: italic; }

/* ====== RESET ====== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--text);font-size:16px;line-height:1.4em;background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;overflow-y:scroll;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}
a{text-decoration:none;color:inherit;transition:all .3s ease}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
b,strong{font-weight:700}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:#000;font-weight:700;line-height:1.1em}
p{font-family:var(--font-body);color:#000;font-weight:400;line-height:1.4em}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
@media(min-width:1200px){.container{max-width:1400px}}

/* ====== TYPOGRAPHY ====== */
.title-primary{font-family:var(--font-heading);color:#000;font-weight:700;line-height:1.1em;margin-bottom:20px;font-size:1.8rem}
@media(min-width:576px){.title-primary{font-size:2rem}}
@media(min-width:1200px){.title-primary{letter-spacing:-1px;font-size:3.5rem}}
.title-secondary{font-family:var(--font-heading);color:#000;font-weight:700;margin-bottom:20px;line-height:1.25em;font-size:1.6rem}
@media(min-width:576px){.title-secondary{font-size:1.75rem}}
@media(min-width:1200px){.title-secondary{font-size:2.25rem}}
.subtitle{text-transform:uppercase;color:rgba(0,0,0,0.7);font-family:var(--font-heading);font-size:1.125rem}

/* ====== BUTTONS ====== */
.btn-primary-edufit{font-family:var(--font-heading);font-weight:500;letter-spacing:-0.5px;color:#fff;background-color:var(--primary);border-radius:30px;line-height:1;padding:16px 32px;text-align:center;cursor:pointer;transition:background-color .3s ease,color .3s ease;display:inline-flex;justify-content:center;align-items:center;font-size:1rem;border:none}
@media(min-width:1200px){.btn-primary-edufit{padding:20px 45px}}
.btn-primary-edufit:hover{background-color:var(--primary-dark);color:#fff}
.btn-primary-edufit.yellow{color:#000;background-color:var(--gold)}
.btn-primary-edufit.yellow:hover{color:#000;background-color:var(--gold-dark)}
.btn-primary-edufit.black{color:#fff;background-color:#000}
.btn-primary-edufit.black:hover{background-color:#262165}
.btn-sm{padding:14px 24px;font-size:.9rem}

/* ====== HEADER ====== */
html{scroll-padding-top:110px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--white);transition:all .3s ease}
.site-header.scrolled{box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.site-logo img,.site-logo .logo-img{width:auto;height:56px;max-width:none}
@media(max-width:767px){.site-logo img,.site-logo .logo-img{height:44px}}
.main-nav{display:flex;align-items:center;gap:15px;flex-wrap:wrap;list-style:none}
.main-nav a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:1rem;font-weight:600;line-height:1;color:#000;padding:10px;transition:color .3s ease}
.main-nav a:hover{color:var(--primary)}
.main-nav a.active{color:var(--primary);position:relative}
.main-nav a.active::after{content:'';position:absolute;bottom:4px;left:10px;right:10px;height:2px;background:var(--primary);border-radius:1px}
.header-actions{display:flex;align-items:center;gap:15px}
.btn-cta{font-family:var(--font-heading);font-weight:500;letter-spacing:-0.5px;color:#000;background-color:var(--gold);border-radius:30px;line-height:1;padding:16px 32px;text-align:center;cursor:pointer;transition:background-color .3s ease;display:inline-flex;align-items:center;font-size:1rem}
@media(min-width:1200px){.btn-cta{padding:20px 45px}}
.btn-cta:hover{background-color:var(--gold-dark)}
.social-links{display:flex;align-items:center;gap:4px}
.social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#555;transition:all .3s ease}
.social-link:hover{color:#000;background-color:rgba(0,0,0,0.06)}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.mobile-toggle span{display:block;width:24px;height:2px;background:#000;margin:6px 0;transition:all .3s ease}

/* ====== HERO ====== */
.hero{padding-top:110px;padding-bottom:60px;background:var(--white)}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:767px){.hero-inner{grid-template-columns:1fr;gap:40px}}
.hero-content{padding-top:20px}
.hero-badge{display:none}
.hero-title{margin-bottom:0;font-size:inherit;line-height:inherit}
.hero-title>span{display:block;font-family:var(--font-heading);font-size:clamp(2.75rem,5.5vw,5.5rem);font-weight:800;line-height:.92em;color:var(--primary-dark);letter-spacing:-0.03em}
.js .hero-title>span{opacity:0;transform:translateY(30px)}
.kw-blue{color:var(--sky)}
.kw-green{color:var(--green)}
.kw-navy{color:var(--primary-dark)}
.hero-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text);font-weight:400;line-height:1.6em;margin-top:28px;margin-bottom:0;max-width:520px}
@media(min-width:768px){.hero-subtitle{font-size:1.0625rem}}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:36px}
.btn-hero-primary{font-family:var(--font-heading);font-weight:600;font-size:.9375rem;color:#fff;background:var(--green);border:2px solid var(--green);border-radius:30px;padding:14px 28px;display:inline-flex;align-items:center;transition:background .3s,border-color .3s}
.btn-hero-primary:hover{background:#4f9c46;border-color:#4f9c46;color:#fff}
.btn-hero-outline{font-family:var(--font-heading);font-weight:600;font-size:.9375rem;color:var(--primary-dark);background:transparent;border:2px solid var(--primary-dark);border-radius:30px;padding:14px 28px;display:inline-flex;align-items:center;transition:background .3s,color .3s}
.btn-hero-outline:hover{background:var(--primary-dark);color:#fff}
.hero-visual{display:flex;align-items:center;justify-content:center}
.js .hero-visual{opacity:0;transform:translateX(40px)}
.hero-card{position:relative;border-radius:28px;overflow:hidden;width:100%;max-width:408px}
.hero-card::before,.hero-card::after{display:none}
.hero-card-img{width:100%;height:auto;display:block;margin:0;object-fit:cover;border-radius:28px}
.hero-card-name,.hero-card-sub{display:none}

/* ====== FEATURES BAR ====== */
.features-bar{padding:40px 0;background:var(--white)}
.features-bar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.feature-bar-item{display:flex;align-items:center;gap:15px}
.feature-bar-icon{width:48px;height:48px;border-radius:50%;border:2.5px solid var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.feature-bar-icon svg{width:24px;height:24px;stroke:var(--primary);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.feature-bar-item h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:#000;line-height:1.2em;max-width:230px}
@media(min-width:768px){.feature-bar-item h3{font-size:1.3125rem}}

/* ====== PARTNERS ====== */
.partners{padding:25px 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.partners-subtitle{text-align:center;font-family:var(--font-body);font-size:1rem;color:var(--text-light);margin-bottom:20px}
.partners-slider{position:relative;padding:0}
.partners-slider .swiper-slide{display:flex;align-items:center;justify-content:center;height:auto}
.partner-logo{height:70px;display:flex;align-items:center;justify-content:center;padding:5px}
.partner-logo img{height:50px;width:150px;object-fit:contain}
.partners-slider .swiper-button-next,.partners-slider .swiper-button-prev{display:none}

/* ====== STEPS ====== */
.steps{padding:80px 0;background:var(--white)}
@media(min-width:1200px){.steps{padding:80px 0}}
.steps .section-title{text-align:center;margin-bottom:50px}
.steps .section-title h2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#000;line-height:1.1em;max-width:850px;margin:0 auto 20px}
@media(min-width:576px){.steps .section-title h2{font-size:2rem}}
@media(min-width:1200px){.steps .section-title h2{font-size:3.5rem;letter-spacing:-1px}}
.steps-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;row-gap:30px}
.step-card{border-radius:30px;overflow:hidden;display:flex;flex-direction:column;padding:30px 20px}
@media(min-width:1400px){.step-card{border-radius:40px;padding:48px 40px}}
.step-card-pink{background:var(--pink)}
.step-card-yellow{background:var(--yellow)}
.step-card-teal{background:var(--teal)}
.step-card-pink h3,.step-card-pink .step-card-text p{color:var(--primary)}
.step-card-yellow h3,.step-card-yellow .step-card-text p{color:var(--primary)}
.step-card-teal h3,.step-card-teal .step-card-text p,.step-card-teal .step-list li{color:#fff}
.step-card-text{padding:0;margin-bottom:20px}
.step-card h3{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;margin-bottom:15px;color:#000;line-height:1.25em}
@media(min-width:576px){.step-card h3{font-size:1.75rem}}
@media(min-width:1200px){.step-card h3{font-size:2.25rem}}
.step-card-text p{font-family:var(--font-body);font-size:1rem;line-height:1.4em;color:#000;font-weight:400;margin:0}
@media(min-width:1200px){.step-card-text p{font-size:1.125rem}}
.step-card-image{margin-top:auto;text-align:center;line-height:0}
.step-card-image img{width:100%;margin:0 auto;object-fit:contain;vertical-align:bottom}
.step-card-image img.image-1{max-width:80%}
@media(min-width:992px){.step-card-image img.image-1{max-width:450px}}
.step-card-image img.image-2{max-width:50%}
@media(min-width:992px){.step-card-image img.image-2{max-width:240px}}
.step-card-image img.image-3{max-width:80%}
@media(min-width:992px){.step-card-image img.image-3{max-width:340px}}
/* Full-width teal card */
.step-card-full{grid-column:1/-1;flex-direction:row;display:grid;grid-template-columns:1fr 1fr;min-height:auto;padding-bottom:30px}
@media(min-width:1400px){.step-card-full{padding-bottom:40px}}
.step-card-full .step-card-text{padding:0;display:flex;flex-direction:column;justify-content:center;margin-bottom:0}
.step-card-full .step-card-image{display:flex;align-items:flex-end;justify-content:center;margin-top:0}
.step-card-full .step-card-image img.image-3{max-width:80%}
@media(min-width:992px){.step-card-full .step-card-image img.image-3{max-width:340px}}
.step-list{margin-top:30px;margin-bottom:30px;padding:0}
@media(min-width:1200px){.step-list{margin-top:50px}}
.step-list li{font-family:var(--font-body);color:var(--teal-dark);font-weight:500;padding-left:35px;position:relative;margin-top:20px;font-size:1rem;line-height:1.4em}
@media(min-width:1200px){.step-list li{font-size:1.125rem}}
.step-list li:first-child{margin-top:0}
.step-list li::before{content:'';position:absolute;left:0;top:2px;width:22px;height:22px;background:var(--primary-dark);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}

/* ====== FAQ ====== */
.faq{padding:30px 0}
@media(min-width:992px){.faq{padding:45px 0}}
@media(min-width:1200px){.faq{padding:80px 0}}
.faq-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:flex-start}
.faq-label{font-family:var(--font-heading);font-size:1.125rem;text-transform:uppercase;color:rgba(0,0,0,0.7);margin-bottom:10px}
.faq-intro h2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#000;margin-bottom:15px;line-height:1.1em}
@media(min-width:576px){.faq-intro h2{font-size:2rem}}
@media(min-width:1200px){.faq-intro h2{font-size:3.5rem;letter-spacing:-1px}}
.faq-intro p{font-family:var(--font-body);color:var(--text-body);font-size:1rem;margin-bottom:20px;margin-top:10px;line-height:1.777em}
@media(min-width:1200px){.faq-intro p{margin-top:30px;font-size:1.125rem}}
.faq-buttons{display:flex;gap:15px;flex-wrap:wrap;row-gap:10px}
.faq-list{border-bottom:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{font-family:var(--font-heading);cursor:pointer;margin-bottom:0;color:#000;line-height:1.35em;font-weight:500;display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:1rem;gap:10px;background:none;border:none;width:100%;text-align:left}
@media(min-width:991px){.faq-question{padding:25px 0;font-size:1.125rem}}
.faq-question:hover{color:var(--primary)}
.faq-question .icon{flex-shrink:0;font-size:1.5rem;font-weight:300;color:var(--text-muted);transition:all .3s ease;line-height:1}
.faq-item.active .faq-question .icon{transform:rotate(45deg);color:var(--primary)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.active .faq-answer{max-height:500px}
.faq-answer-inner{padding:0 30px 30px 0;font-family:var(--font-body);font-size:1rem;line-height:1.777em;color:var(--text-body)}

/* ====== STATISTICS ====== */
.statistics{padding:30px 0;background-color:var(--primary)}
@media(min-width:992px){.statistics{padding:45px 0}}
@media(min-width:1200px){.statistics{padding:80px 0}}
.statistics .section-title{text-align:center;margin-bottom:30px}
@media(min-width:1200px){.statistics .section-title{margin-bottom:50px}}
.statistics .section-title h2{font-family:var(--font-heading);color:#fff;font-size:1.8rem;font-weight:700;line-height:1.1em}
@media(min-width:576px){.statistics .section-title h2{font-size:2rem}}
@media(min-width:1200px){.statistics .section-title h2{font-size:3.5rem;letter-spacing:-1px}}
.statistics .section-title h2 .gold{color:var(--gold);text-transform:uppercase}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;row-gap:30px}
.stat-item{text-align:center;display:flex;flex-direction:column;align-items:center}
.stat-icon{margin-bottom:20px;color:#fff}
.stat-icon img{width:80px;max-width:80px;height:auto}
@media(min-width:992px){.stat-icon img{width:100px;max-width:100px}}
.stat-number{font-family:var(--font-heading);font-size:1.5rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:10px}
@media(min-width:992px){.stat-number{font-size:1.75rem}}
.stat-label{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:#fff;line-height:1.1em;text-align:center;max-width:250px}
@media(min-width:992px){.stat-label{font-size:1.125rem}}

/* ====== DATA ====== */
.data-section{padding:30px 0;background-color:var(--primary);border-top:1px solid #59A6BB}
@media(min-width:992px){.data-section{padding:45px 0}}
@media(min-width:1200px){.data-section{padding:60px 0}}
.data-section .section-title{text-align:center;margin-bottom:15px}
.data-section .section-title h2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#fff}
@media(min-width:576px){.data-section .section-title h2{font-size:2rem}}
@media(min-width:1200px){.data-section .section-title h2{font-size:3.5rem;letter-spacing:-1px}}
.data-intro{text-align:center;max-width:750px;margin:0 auto 40px}
.data-intro p{font-family:var(--font-heading);color:#fff;font-size:1rem}
@media(min-width:768px){.data-intro p{font-size:1.125rem}}
@media(min-width:1200px){.data-intro p{font-size:1.3rem}}
.data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.data-card{background:rgba(255,255,255,.08);border-radius:var(--radius);padding:25px;color:#fff}
.data-card h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:900;color:#fff;margin-bottom:12px;text-transform:uppercase}
.data-card p{font-family:var(--font-body);font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:4px;line-height:1.5}
.data-card .val{font-weight:700;color:var(--gold)}

/* ====== NEWS ====== */
.news{padding:80px 0;background:var(--light-bg)}
.news .section-title{text-align:center;margin-bottom:50px}
.news .section-title h2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#000}
@media(min-width:576px){.news .section-title h2{font-size:2rem}}
@media(min-width:1200px){.news .section-title h2{font-size:3.5rem;letter-spacing:-1px}}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.news-card{transition:all .3s ease}
.news-card:hover{transform:translateY(-5px)}
.news-card-image{display:block;height:260px;border-radius:var(--radius);overflow:hidden;position:relative;margin-bottom:20px}
a.news-card-image{text-decoration:none}
.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.news-card:hover .news-card-image img{transform:scale(1.05)}
.news-date-badge{position:absolute;top:15px;left:15px;background:var(--primary);color:#fff;padding:5px 14px;border-radius:30px;font-family:var(--font-heading);font-size:.8rem;font-weight:600}
.news-card h3{font-family:var(--font-heading);font-size:var(--fs-card-head);font-weight:700;color:#000;margin-bottom:10px;line-height:1.25em}
.news-card h3 a:hover{color:var(--primary)}
.news-card p{font-family:var(--font-body);font-size:1rem;color:#000;line-height:1.4em;margin-bottom:12px}
.news-card .read-more{font-family:var(--font-body);color:var(--primary);font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;gap:5px}
.news-card .read-more:hover{color:var(--primary-dark);gap:8px}
.news-more{text-align:center;margin-top:50px}

/* ====== EU BANNER ====== */
.eu-banner{padding:30px 0;background:#fff;text-align:center;position:relative}
.eu-banner-inner{display:flex;align-items:center;justify-content:center;gap:15px;background:#fff;padding:20px 0;width:100%}
.eu-banner img{max-height:50px;width:auto}
@media(min-width:576px){.eu-banner img{max-height:65px}}
.eu-banner-text{text-align:left}
.eu-banner-text strong{display:block;font-size:.95rem;color:#000}
.eu-banner-text span{font-size:.85rem;color:var(--text-light)}

/* ====== FOOTER ====== */
.site-footer{background-color:#F4F7FB;position:relative;padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:48px;padding-bottom:20px}
@media(max-width:991px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:32px}}
.footer-brand{padding-right:10px}
.footer-logo{margin-bottom:20px}
.footer-logo img{width:150px;height:auto}
.footer-tagline{font-family:var(--font-body);font-size:.9375rem;color:var(--text-muted);line-height:1.6em;margin-bottom:0;max-width:280px}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-family:var(--font-body);font-size:.9375rem;font-weight:400;color:var(--text);padding:0;transition:color .3s ease}
.footer-contact-list li svg{flex-shrink:0;width:18px;height:18px;color:var(--primary);margin-top:2px}
.footer-contact-list a{color:var(--text)}
.footer-contact-list a:hover{color:var(--primary)}
.footer-social{display:flex;align-items:center;gap:10px;margin-top:20px}
.footer-social .social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.06);color:var(--primary);transition:background .3s,color .3s}
.footer-social .social-link:hover{background:var(--primary);color:#fff}
.footer-heading{font-family:var(--font-heading);color:var(--primary);font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;display:block}
.footer-links li{margin-bottom:0}
.footer-links a{font-family:var(--font-body);font-size:.9375rem;font-weight:400;color:var(--text);padding:5px 0;display:flex;align-items:center;gap:4px;transition:color .3s ease}
.footer-links a:hover{color:var(--primary)}
.footer-bottom{background-color:#EBF0F6;padding:20px 0;text-align:center;margin-top:40px}
@media(min-width:992px){.footer-bottom{margin-top:48px}}
.footer-bottom p{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);margin:0;font-weight:400}
.footer-bottom a{color:var(--primary);font-weight:700;transition:color .3s ease}
.footer-bottom a:hover{color:var(--primary-dark)}

/* ====== COOKIE ====== */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--white);box-shadow:0 -4px 20px rgba(0,0,0,.1);padding:20px;z-index:9999;transform:translateY(100%);transition:transform .4s ease}
.cookie-banner.visible{transform:translateY(0)}
.cookie-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cookie-text p{font-size:.9rem;margin:0;color:var(--text)}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}

/* ====== ANIMATIONS ====== */
/* Pre-hide page titles before JS runs — GSAP animates them in via .to() */
.js .ona-title,
.js h1.elementor-heading-title,
.js h1.title-primary{opacity:0;transform:translateY(40px)}
.text-animate{will-change:transform,opacity}
.text-animate span{display:inline-block}
.ona-title,h1.elementor-heading-title,h1.title-primary,
.ona-block,.team-country,.team-member,
.nm-tagline-text,.nm-heading,.nm-objectives-lead,
.nm-specific-list li,.nm-card,
.publikacija-card,.goals-item,.stat-card,
.edufit-fb-post,.faq-page-list .faq-item,
.kontakt-subtitle,.row-contact-box,.contact-form,.kontakt-map{will-change:transform,opacity}

/* ====== RESPONSIVE ====== */
@media(max-width:1274px){
    .main-nav{display:none}
    .main-nav.open{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:998}
    .main-nav.open a{font-size:1.2rem;padding:12px 25px}
    .mobile-toggle{display:block;z-index:999}
    .mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    .mobile-toggle.active span:nth-child(2){opacity:0}
    .mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}
    .header-actions .btn-cta{display:none}
}
@media(max-width:991px){
    .hero-inner{grid-template-columns:1fr}
    .hero-image{max-width:400px;margin:0 auto}
    .faq-inner{grid-template-columns:1fr;gap:30px}
    .footer-grid{grid-template-columns:1fr}
    .footer-nav-grid{gap:20px}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
    .features-bar-grid{grid-template-columns:1fr}
    .steps-grid{grid-template-columns:1fr}
    .step-card{min-height:300px}
    .step-card-full{grid-template-columns:1fr}
    .data-grid{grid-template-columns:repeat(2,1fr)}
    .news-grid{grid-template-columns:repeat(3,1fr);gap:10px}
    .news-card-image{height:110px}
    .news-card p,.news-card .read-more{display:none}
    .news-card h3{font-size:.7rem;margin-bottom:0}
    .cookie-inner{flex-direction:column;text-align:center}
}
@media(max-width:480px){
    .container{padding:0 15px}
    .data-grid{grid-template-columns:1fr}
}

/* ====== NEWS ARCHIVE ====== */
.news-archive{padding:120px 0 80px}
.news-archive .news-card-image{height:300px}
.news-archive-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#000;text-align:center;margin-bottom:50px}
@media(min-width:576px){.news-archive-title{font-size:2.5rem}}
@media(min-width:1200px){.news-archive-title{font-size:3.5rem;letter-spacing:-1px}}
.news-pagination{text-align:center;margin-top:50px}
.news-pagination .nav-links{display:flex;justify-content:center;gap:8px}
.news-pagination .page-numbers{font-family:var(--font-heading);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:.9rem;font-weight:600;color:#000;background:#f2f2f2;transition:all .3s ease}
.news-pagination .page-numbers.current,.news-pagination .page-numbers:hover{background:var(--primary);color:#fff}
.news-pagination .page-numbers.prev,.news-pagination .page-numbers.next{width:auto;padding:0 15px;border-radius:20px}

/* ====== SINGLE POST ====== */
.single-post{padding-top:100px}
.single-post-header{padding:30px 0 20px;text-align:center}
.breadcrumbs{font-family:var(--font-body);font-size:.9rem;color:rgba(0,0,0,0.5);margin-bottom:20px}
.breadcrumbs a{color:var(--primary);font-weight:500;transition:color .3s ease}
.breadcrumbs a:hover{color:var(--primary-dark);text-decoration:underline}
.breadcrumbs .sep{margin:0 6px;color:rgba(0,0,0,0.3)}
.breadcrumbs .current{color:rgba(0,0,0,0.5)}
.single-post-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#000;line-height:1.1em;margin-bottom:15px;max-width:800px;margin-left:auto;margin-right:auto}
@media(min-width:576px){.single-post-title{font-size:2.5rem}}
@media(min-width:1200px){.single-post-title{font-size:var(--fs-page-title);letter-spacing:-0.5px}}
.single-post-meta{font-family:var(--font-heading);font-size:.95rem;color:rgba(0,0,0,0.5);margin-bottom:10px}
.single-post-image{margin:20px 0 40px}
.single-post-image img{width:100%;border-radius:var(--radius);object-fit:contain}
.single-post-content{max-width:800px;margin:0 auto;padding:0 0 60px}
.single-post-content p{font-family:var(--font-body);font-size:1rem;line-height:1.777em;color:var(--text-body);margin-bottom:20px}
@media(min-width:1200px){.single-post-content p{font-size:1.125rem}}
.single-post-content h2,.single-post-content h3{font-family:var(--font-heading);margin:30px 0 15px}
.single-post-content img{border-radius:var(--radius);margin:20px 0}
.single-post-content a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.single-post-content a:hover{color:var(--primary-dark)}
.single-post-content ul,.single-post-content ol{margin:15px 0 15px 25px}
.single-post-content li{font-family:var(--font-body);font-size:1rem;line-height:1.777em;margin-bottom:8px}
.single-post-content blockquote{border-left:4px solid var(--primary);padding:15px 25px;margin:20px 0;background:var(--light-bg);border-radius:0 var(--radius) var(--radius) 0}

/* ====== RELATED POSTS ====== */
.related-posts{padding:60px 0 80px;background:var(--light-bg)}
.related-posts-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#000;text-align:center;margin-bottom:40px}
@media(min-width:576px){.related-posts-title{font-size:2rem}}
@media(min-width:1200px){.related-posts-title{font-size:2.5rem}}

/* ====== O NAMA PAGE ====== */
.o-nama-page{padding:120px 0 80px}
.o-nama-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#000;text-align:center;margin-bottom:50px}
@media(min-width:576px){.o-nama-title{font-size:2.5rem}}
@media(min-width:1200px){.o-nama-title{font-size:3.5rem;letter-spacing:-1px}}
.team-section{margin-bottom:60px}
.team-country{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #274F7C}
@media(min-width:576px){.team-country{font-size:2.5rem}}
@media(min-width:1200px){.team-country{font-size:var(--fs-section-head)}}
.team-member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}
@media(max-width:1199px){.team-member-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.team-member-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:479px){.team-member-grid{grid-template-columns:1fr}}
/* atom-based layout: section has class team-grid, Elementor container becomes the grid */
.team-grid{display:block}
.team-grid .elementor-container{display:grid!important;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1140px;width:100%;margin:0 auto}
.team-grid .elementor-column{width:100%!important;max-width:none!important;flex:none!important;padding:0}
.team-grid .elementor-widget-wrap{height:100%}
@media(max-width:1199px){.team-grid .elementor-container{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.team-grid .elementor-container{grid-template-columns:repeat(2,1fr)}}
@media(max-width:479px){.team-grid .elementor-container{grid-template-columns:1fr}}
.team-member{background:#fff;border:1px solid #E5E9F2;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s ease,transform .25s ease}
.team-member:hover{box-shadow:0 6px 24px rgba(39,79,124,.1);transform:translateY(-3px)}
.team-member-image{width:100%;height:185px;overflow:hidden;background:#e9eef5;flex-shrink:0}
.team-member-image img{width:100%;height:100%;object-fit:cover;object-position:top center}
.team-member-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9eef5 0%,#cdd8e8 100%)}
.team-member-image-placeholder svg{width:60px;height:60px;opacity:.4}
.team-member-info{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}
.team-member-prof{font-family:var(--font-heading);font-size:.8125rem;font-weight:500;color:var(--primary);letter-spacing:-.5px;line-height:1.3;margin:0}
.team-member-info h3{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-body);line-height:1.3;margin:0}
.team-member-institution{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);line-height:1.4;margin:0}
.team-member-more{font-family:var(--font-body);font-size:.8125rem;font-weight:700;color:var(--text-muted);text-decoration:underline;margin-top:4px;display:inline-block}

/* ====== O NAMA PHP TEMPLATE ====== */
.ona-page{padding-top:80px}
.ona-hero{padding:64px 0 8px;text-align:center}
.ona-title,h1.elementor-heading-title{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--text-body);letter-spacing:-1px;margin-bottom:0}
@media(min-width:576px){.ona-title,h1.elementor-heading-title{font-size:2.5rem}}
@media(min-width:1200px){.ona-title,h1.elementor-heading-title{font-size:var(--fs-page-title)}}
.ona-intro{padding:40px 0 72px}
.ona-intro .container{max-width:700px;text-align:center}
.ona-block{margin-bottom:28px}
.ona-block h2{font-family:var(--font-heading);font-size:var(--fs-card-head);font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;display:inline-flex;align-items:center;gap:10px}
.ona-block h2::before,.ona-block h2::after{content:'';display:block;width:32px;height:2px;background:var(--primary);opacity:0.4}
.ona-block p{font-family:var(--font-body);font-size:var(--fs-lead);color:var(--text);line-height:1.9;margin:0}
.ona-team{padding:0 0 80px}
.ona-country-group{margin-bottom:60px}
.ona-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}
@media(max-width:1199px){.ona-team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.ona-team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:479px){.ona-team-grid{grid-template-columns:1fr}}

/* Initials avatar */
.tm-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tm-avatar span{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:rgba(255,255,255,0.92);letter-spacing:2px;user-select:none}

/* ====== NAŠA MISIJA PAGE ====== */
.nm-tagline-section{padding:32px 0 56px;text-align:center}
.nm-tagline-text{font-family:var(--font-heading);font-size:1.125rem;font-weight:500;color:var(--primary);background:var(--light-bg);border:1px solid var(--border);border-radius:100px;padding:12px 28px;display:inline-block;line-height:1.5;margin:0}
.nm-objectives{padding:0 0 72px}
.nm-objectives .container{max-width:860px;text-align:center}
.nm-objectives-lead{font-family:var(--font-body);font-size:var(--fs-lead);color:var(--text);line-height:1.9;margin:0 0 40px}
.nm-specific-title{font-family:var(--font-heading);font-size:.8125rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin:0 0 20px;text-align:left}
.nm-specific-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;text-align:left}
.nm-specific-list li{font-family:var(--font-body);font-size:1rem;line-height:1.75;color:var(--text);display:flex;gap:14px;align-items:flex-start}
.nm-specific-list li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:8px}
.nm-structure{padding:120px 0}
.nm-structure-header{text-align:center;margin-bottom:40px}
.nm-eyebrow{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin:0 0 16px;display:inline-flex;align-items:center;gap:10px}
.nm-eyebrow::before{content:'';display:block;width:32px;height:2px;background:var(--primary);opacity:.4}
.nm-heading{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--navy-deep);letter-spacing:-1px;margin:0}
@media(min-width:576px){.nm-heading{font-size:2.5rem}}
@media(min-width:1200px){.nm-heading{font-size:var(--fs-section-head)}}
.nm-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:991px){.nm-cards-grid{grid-template-columns:1fr}}
.nm-card{border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;gap:20px}
.nm-card--blue{background:#dde8f5}
.nm-card--green{background:#deeedd}
.nm-card--navy{background:#1e3a5f}
.nm-card-num{font-family:var(--font-heading);font-size:.875rem;font-weight:700;color:var(--navy-deep);background:rgba(255,255,255,.7);border-radius:8px;padding:4px 10px;display:inline-block;line-height:1.5;align-self:flex-start}
.nm-card--navy .nm-card-num{color:#fff;background:rgba(255,255,255,.15)}
.nm-card h3{font-family:var(--font-heading);font-size:1.375rem;font-weight:800;color:var(--navy-deep);line-height:1.25;margin:0}
.nm-card--navy h3{color:#fff}
.nm-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.nm-card ul li{font-family:var(--font-body);font-size:.9375rem;color:var(--text);display:flex;align-items:center;gap:10px;line-height:1.4}
.nm-card--navy ul li{color:rgba(255,255,255,.85)}
.nm-card ul li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--navy-deep);flex-shrink:0}
.nm-card--green ul li::before{background:var(--green-dark)}
.nm-card--navy ul li::before{background:var(--green)}

/* ====== KONTAKT PAGE ====== */
.kontakt{padding-top:60px;padding-bottom:60px}
.kontakt-subtitle{font-family:var(--font-heading);text-align:center;color:var(--text-muted);font-size:var(--fs-lead);margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}
.kontakt .contact-form{max-width:700px;margin:0 auto}
.kontakt .contact-form .edufit-form-row{margin-bottom:0}
.kontakt .contact-form .edufit-form-row input{margin-bottom:0}
.kontakt .contact-form .edufit-form-field{margin-bottom:0}
.kontakt .contact-form input[type=text],
.kontakt .contact-form input[type=email],
.kontakt .contact-form input[type=tel]{margin-bottom:0}
.kontakt .contact-form textarea{margin-bottom:0}
.kontakt-form .elementor-widget{margin-bottom:6px!important}
.kontakt-form .elementor-widget:last-child{margin-bottom:0!important}
.form-submit-row{margin-top:8px}
.form-submit-row .btn-primary-edufit{width:100%;justify-content:center}
.kontakt-notice{padding:14px 20px;border-radius:8px;margin-bottom:24px;font-family:var(--font-body);font-size:1rem}
.kontakt-notice--success{background:#e6f4ea;color:#1a6630;border:1px solid #a8d5b5}
.kontakt-notice--error{background:#fdecea;color:#9c1a1a;border:1px solid #f5b5b5}
.kontakt .main-text p{font-family:var(--font-heading);text-align:center;color:#000;font-size:var(--fs-lead);margin-bottom:30px}
.kontakt .contact-boxes-container{margin-bottom:40px}
.kontakt .row-contact-box{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;row-gap:20px}
.kontakt .contact-box{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;row-gap:4px;gap:10px;align-items:center;background-color:#fff;height:100%;transition:background-color .3s ease;text-decoration:none}
@media(min-width:768px){.kontakt .contact-box.center{justify-content:center}}
.kontakt .contact-box .icon-container{display:flex;justify-content:center;align-content:center;align-items:center;width:50px;height:50px;color:#fff;background-color:var(--primary);border-radius:100%;padding:7px;transition:color .3s ease,background-color .3s ease}
.kontakt .contact-box .icon-container svg{width:24px;height:auto;stroke-width:2}
.kontakt .contact-box .text-container .text{font-family:var(--font-heading);font-weight:700;word-break:break-all;color:#000;transition:color .3s ease;font-size:1.125rem}
@media(min-width:992px){.kontakt .contact-box .text-container .text{font-size:1.3rem}}
.kontakt .contact-box:hover .icon-container{background-color:var(--primary-dark)}
.kontakt .contact-box:hover .text-container .text{color:var(--primary)}
.kontakt .contact-form label{display:block;width:100%;margin-bottom:10px;font-weight:700;color:var(--text-muted);font-size:1.125rem;line-height:1.2em;font-family:var(--font-body)}
.kontakt .contact-form input[type=text],.kontakt .contact-form input[type=email],.kontakt .contact-form input[type=tel],.kontakt .contact-form input[type=number],.kontakt .contact-form textarea,.kontakt .contact-form select{-webkit-appearance:none;width:100%;padding:12px 16px;font-size:1em;background-color:#fff;font-family:var(--font-body);font-weight:400;border:2px solid #000;border-radius:8px;transition:border .3s ease;margin-bottom:20px;outline:none;color:#000}
.kontakt .contact-form input:focus,.kontakt .contact-form input:hover,.kontakt .contact-form textarea:focus,.kontakt .contact-form textarea:hover{border-color:var(--primary)}
.kontakt .contact-form input::placeholder,.kontakt .contact-form textarea::placeholder{color:var(--text-placeholder);font-family:var(--font-body);font-weight:400}
.kontakt .contact-form textarea{resize:vertical}
.kontakt .contact-form input[type=submit]{-webkit-appearance:none;font-family:var(--font-body);cursor:pointer}
.form-checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.form-checkbox-row input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;min-width:16px;min-height:16px;border:2px solid #000;border-radius:0;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;margin:0;margin-top:2px}
.form-checkbox-row input[type=checkbox]:before{content:"";width:10px;height:10px;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transform-origin:bottom left;transition:transform 120ms ease-in-out;background-color:var(--primary)}
.form-checkbox-row input[type=checkbox]:checked:before{transform:scale(1)}
.form-checkbox-row .checkbox-label{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);cursor:pointer;font-weight:400}
.form-checkbox-row .checkbox-label a{color:var(--primary);font-weight:700}

/* ====== KONTAKT OR EMAIL ====== */
.kontakt-or-email{padding:0 0 40px;text-align:center}
.kontakt-or-email .container{max-width:700px}
.kontakt-or-email p{font-family:var(--font-body);font-size:1rem;color:var(--text-muted)}
.kontakt-or-email a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.kontakt-or-email a:hover{color:var(--primary-dark)}

/* ====== KONTAKT MAP ====== */
.kontakt-map{padding:0 0 60px}
#kontakt-leaflet-map{height:420px;border-radius:var(--radius);width:100%}
.leaflet-popup-content b,.leaflet-popup-content strong{font-family:var(--font-heading);color:var(--primary)}
.leaflet-nav-link{display:inline-block;margin-top:6px;font-family:var(--font-body);font-size:.8rem;font-weight:700;color:var(--primary);text-decoration:underline;text-underline-offset:2px}

/* ====== FAQ PAGE ====== */
.faq-page{padding:120px 0 80px}
.faq-page-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#000;text-align:center;margin-bottom:50px}
@media(min-width:576px){.faq-page-title{font-size:2.5rem}}
@media(min-width:1200px){.faq-page-title{font-size:3.5rem;letter-spacing:-1px}}
.faq-page-list{max-width:900px;margin:0 auto}
.faq-page-list .faq-item{border-bottom:1px solid var(--border)}
.faq-page-list .faq-question{font-family:var(--font-heading);cursor:pointer;color:#000;line-height:1.35em;font-weight:500;display:flex;align-items:center;justify-content:space-between;padding:25px 0;font-size:1rem;gap:10px;background:none;border:none;width:100%;text-align:left}
@media(min-width:991px){.faq-page-list .faq-question{font-size:1.125rem}}
.faq-page-list .faq-question:hover{color:var(--primary)}
.faq-page-list .faq-question .icon{flex-shrink:0;font-size:1.5rem;font-weight:300;color:rgba(0,0,0,0.4);transition:all .3s ease}
.faq-page-list .faq-item.active .faq-question .icon{transform:rotate(45deg);color:var(--primary)}
.faq-page-list .faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-page-list .faq-item.active .faq-answer{max-height:1000px}
.faq-page-list .faq-answer-inner{padding:0 30px 25px 0;font-family:var(--font-body);font-size:1rem;line-height:1.777em;color:var(--text-body)}

/* ====== PUBLIKACIJE ====== */
.publikacije-page{padding:40px 0 80px}
.publikacije-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#000;text-align:center;margin-bottom:50px}
@media(min-width:576px){.publikacije-title{font-size:2.5rem}}
@media(min-width:1200px){.publikacije-title{font-size:3.5rem;letter-spacing:-1px}}
.publikacije-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:15px}
.publikacija-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 30px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:all .3s ease}
.publikacija-card:hover{border-color:var(--primary);box-shadow:0 4px 20px rgba(3,122,155,0.1);transform:translateY(-2px)}
.publikacija-text{font-family:var(--font-body);font-size:1rem;line-height:1.6em;color:var(--primary);font-weight:500}
.publikacija-card:hover .publikacija-text{color:var(--primary-dark)}
.publikacija-arrow{flex-shrink:0;color:var(--primary);margin-top:2px;transition:transform .3s ease}
.publikacija-card:hover .publikacija-arrow{transform:translate(3px,-3px)}
.publikacije-empty{text-align:center;color:var(--text-muted);font-family:var(--font-body);font-size:1rem;padding:40px 0}

/* ====== WP PAGES ====== */
.entry-content{max-width:800px;margin:0 auto;padding:40px 20px}
.page-header{padding:140px 0 60px;background:var(--light-bg);text-align:center}
.page-header h1{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:#000;margin-bottom:10px}

/* ====== EDUFIT ATOMS ====== */
.align-left{text-align:left}
.align-center{text-align:center}
.align-right{text-align:right}

/* video atom */
.edufit-video{position:relative;border-radius:var(--radius);overflow:hidden;background:#000}
.edufit-video.aspect-16-9{aspect-ratio:16/9}
.edufit-video.aspect-4-3{aspect-ratio:4/3}
.edufit-video.aspect-1-1{aspect-ratio:1/1}
.edufit-video iframe,.edufit-video video{width:100%;height:100%;border:0;display:block}

/* divider atom */
.edufit-divider{border:0;border-top:1px solid var(--border);margin:30px 0}
.edufit-divider.style-thick{border-top-width:2px}
.edufit-divider.style-brand{border-top-color:var(--primary)}

/* spacer atom */
.edufit-spacer{width:100%}
@media(max-width:767px){.edufit-spacer[data-hide-mobile="true"]{display:none}}

/* quote atom */
.edufit-quote{margin:0;padding:24px 28px;border-radius:var(--radius);background:var(--light-bg,#f6f7fb);border-left:4px solid var(--primary)}
.edufit-quote blockquote{font-family:var(--font-heading);font-size:1.125rem;color:#000;margin:0 0 12px;line-height:1.5em}
.edufit-quote figcaption{font-family:var(--font-body);font-size:.9rem;color:rgba(0,0,0,0.7);display:flex;align-items:center;gap:12px}
.edufit-quote figcaption img{width:40px;height:40px;border-radius:50%;object-fit:cover}

/* timeline item atom */
.edufit-timeline-item{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--border)}
.edufit-timeline-item:first-child{border-top:0}
.edufit-timeline-item .date{font-family:var(--font-heading);color:var(--primary);font-weight:700;font-size:1.125rem}
.edufit-timeline-item h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:#000;margin:0 0 8px}
.edufit-timeline-item p{font-family:var(--font-body);color:rgba(0,0,0,0.7);font-size:1rem;line-height:1.6em;margin:0}
@media(max-width:600px){.edufit-timeline-item{grid-template-columns:1fr;gap:8px}}

/* form field atoms — mirror existing .kontakt .contact-form rules, but scoped to
   our atom wrapper so it works regardless of whether the <form> wraps the section
   or sits inside it. */
.edufit-form-field{margin-bottom:10px}
.edufit-form-field label{display:block;width:100%;margin-bottom:10px;font-weight:700;color:var(--text-muted);font-size:1.125rem;line-height:1.2em;font-family:var(--font-body)}
.edufit-form-field input[type=text],.edufit-form-field input[type=email],.edufit-form-field input[type=tel],.edufit-form-field input[type=number],.edufit-form-field textarea,.edufit-form-field select{-webkit-appearance:none;width:100%;padding:12px 16px;font-size:1em;background-color:#fff;font-family:var(--font-body);font-weight:400;border:2px solid #000;border-radius:8px;transition:border .3s ease;margin-bottom:20px;outline:none;color:#000}
.edufit-form-field input:focus,.edufit-form-field input:hover,.edufit-form-field textarea:focus,.edufit-form-field textarea:hover{border-color:var(--primary)}
.edufit-form-field input::placeholder,.edufit-form-field textarea::placeholder{color:var(--text-placeholder);font-family:var(--font-body);font-weight:400}
.edufit-form-field textarea{resize:vertical;min-height:120px}
.edufit-form-row{display:flex;gap:16px;flex-wrap:wrap}
.edufit-form-row > .edufit-form-field{flex:1;min-width:200px}

/* ====== FACEBOOK FEED ====== */
.edufit-facebook-feed{padding:120px 0;background:var(--light-bg)}
.edufit-facebook-feed .section-title{text-align:center;margin-bottom:50px}.edufit-facebook-feed .section-title p{font-family:var(--font-body);font-size:1.1rem;color:rgba(0,0,0,.55);margin-top:12px;margin-bottom:0}
.edufit-fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.edufit-fb-post{border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.07),0 4px 16px rgba(0,0,0,.06);transition:box-shadow .25s ease,transform .25s ease}
.edufit-fb-post:hover{box-shadow:0 4px 12px rgba(0,0,0,.1),0 12px 32px rgba(0,0,0,.1);transform:translateY(-3px)}
.edufit-fb-post__image{position:relative;padding-bottom:56.25%;overflow:hidden}
.edufit-fb-post__image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .3s ease}
.edufit-fb-post:hover .edufit-fb-post__image img{transform:scale(1.04)}
.edufit-fb-post__placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--light-bg)}
.edufit-fb-post__image .edufit-fb-post__placeholder img{position:static;width:auto;height:60px;max-width:60%;object-fit:contain;opacity:.4;top:auto;left:auto;object-position:initial}
.edufit-fb-post__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;background:var(--white)}
.edufit-fb-post__body time{font-family:var(--font-body);font-size:.8125rem;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.edufit-fb-post__body p{font-family:var(--font-body);font-size:1rem;line-height:1.65em;color:rgba(0,0,0,.75);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.edufit-fb-post__link{font-family:var(--font-body);font-weight:600;color:var(--primary);font-size:.875rem;text-decoration:none;margin-top:auto;display:inline-flex;align-items:center;gap:4px}
.edufit-fb-post__link:hover{text-decoration:underline}
.edufit-fb-empty{text-align:center;color:rgba(0,0,0,.4);font-family:var(--font-body);padding:40px 0}
@media(max-width:767px){.edufit-fb-grid{grid-template-columns:1fr}.edufit-facebook-feed{padding:70px 0}}
.edufit-fb-sentinel{height:1px;margin-top:40px}
.edufit-fb-sentinel--loading::after{content:'';display:block;width:36px;height:36px;margin:0 auto;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:edufit-spin .7s linear infinite}
@keyframes edufit-spin{to{transform:rotate(360deg)}}
.edufit-fb-post--reveal{animation:edufit-fade-in .4s ease both}
@keyframes edufit-fade-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ====== APP TEASER ====== */
.app-teaser{background:var(--primary-dark);padding:96px 0 0;overflow:hidden}
.app-teaser-inner{display:grid;grid-template-columns:54% 46%;align-items:end;gap:0}
.app-teaser-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(212,168,75,.15);border:1px solid rgba(212,168,75,.35);color:#d4a84b;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:32px}
.app-teaser-dot{width:7px;height:7px;border-radius:50%;background:#d4a84b;flex-shrink:0}
.app-teaser-heading{font-family:var(--font-heading);line-height:.93;margin:0 0 28px;font-weight:800}
.app-teaser-h1{display:block;font-size:clamp(2.75rem,4.8vw,4.5rem);color:#ffffff;letter-spacing:-0.025em}
.app-teaser-h2{display:block;font-size:clamp(2.75rem,4.8vw,4.5rem);color:var(--green);font-style:italic;font-family:var(--font-italic);letter-spacing:-0.01em;font-weight:400}
.app-teaser-body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.75;color:rgba(255,255,255,.7);margin:0 0 40px;max-width:460px}
.app-teaser-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}
.app-teaser-features li{font-family:var(--font-body);font-size:.9375rem;color:rgba(255,255,255,.85);line-height:1.5;padding-left:20px;position:relative}
.app-teaser-features li::before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:700}
.app-teaser-content{padding-bottom:96px;align-self:center}
.app-teaser-visual{display:flex;align-items:flex-end;justify-content:center;padding-top:40px}
.app-teaser-img{width:100%;max-width:100%;height:auto;display:block;filter:drop-shadow(0 24px 56px rgba(0,0,0,.5));transition:transform .4s ease,filter .4s ease}
.app-teaser-img:hover{transform:scale(1.06);filter:drop-shadow(0 36px 64px rgba(0,0,0,.65))}
@media(max-width:960px){
    .app-teaser{padding:72px 0 0}
    .app-teaser-inner{grid-template-columns:1fr;gap:0}
    .app-teaser-content{padding-bottom:60px}
    .app-teaser-visual{padding-top:0;padding-bottom:0;max-width:380px;margin:0 auto}
    .app-teaser-features{grid-template-columns:1fr}
}
@media(max-width:480px){
    .app-teaser-h1,.app-teaser-h2{font-size:2.4rem}
}
