/*
Theme Name: Nikola Tesla Heritage
Theme URI: https://github.com/vladimirlatas-art/nikola-tesla-tema
Author: Nikola Tesla — school website team
Description: Zasebna dvojezična tema prema odobrenom mockupu sa Teslinim portretom. Razvojna verzija, bez automatskog objavljivanja.
Version: 1.3.6
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: nikola-tesla-heritage
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
    --navy:#203650; --ink:#203247; --red:#a63743; --green:#356653; --paper:#f7f4ed;
    --white:#fff; --muted:#586371; --line:#e2e5e7;
    --serif:'PT Serif',Georgia,serif; --sans:'PT Sans',Arial,sans-serif;
    --menu-font:'Roboto','Noto Sans','Segoe UI',sans-serif;
    --primary-color:var(--navy); --primary-light:#365674; --accent-color:var(--red);
    --accent-color-dark:#8c2d37; --success-color:var(--green); --gray-bg:var(--paper);
    --warm-bg:var(--paper); --text-color:var(--ink); --border-radius:5px;
}
body.nt-heritage { font-family:var(--sans); color:var(--ink); background:var(--white); padding-top:0; }
body.nt-heritage h1,body.nt-heritage h2,body.nt-heritage h3 { font-family:var(--serif); }
body.nt-heritage a { transition:color .16s,background .16s; }
body.nt-heritage .container { max-width:1180px; width:calc(100% - 64px); padding-inline:0; margin-inline:auto; }
body.nt-heritage .section-title { text-transform:none; letter-spacing:0; font-weight:600; }
body.nt-heritage .section-title::after { height:2px; background:var(--red); }
.heritage-header { position:sticky; top:0; z-index:100; padding:0; transform:none; }
.admin-bar .heritage-header { top:32px; }
.heritage-header .brand { color:var(--navy); }
.heritage-header .brand:hover { color:var(--navy); }
.heritage-header .brand-name { font-family:var(--serif); font-weight:700; }
.heritage-header .brand-sub { color:var(--ink); }
.heritage-header .languages a { font-size:13px; padding:9px 3px; font-weight:700; }
.heritage-header .languages a[aria-current] { color:var(--red); text-decoration:underline; text-underline-offset:5px; }
.heritage-header .languages a+a::before { content:'/'; display:inline-block; color:var(--muted); margin-right:9px; text-decoration:none; }
.heritage-menu { display:flex; align-items:center; gap:24px; margin:0; padding:0; list-style:none; }
.heritage-menu li { position:relative; list-style:none; }
.heritage-menu>li>a { display:inline-block; padding:16px 0; font-size:13px; text-transform:uppercase; letter-spacing:.045em; font-weight:700; }
.heritage-menu a:hover,.heritage-menu .current-menu-item>a { color:var(--red); }
.heritage-menu .sub-menu { display:none; position:absolute; top:100%; left:-18px; width:250px; margin:0; padding:10px 0; border:1px solid var(--line); border-top:3px solid var(--green); border-radius:0 0 5px 5px; background:var(--white); box-shadow:0 12px 34px #2036501c; }
.heritage-menu .sub-menu a { display:block; padding:8px 18px; font-size:14px; line-height:1.45; }
.heritage-menu .sub-menu a:hover { background:var(--paper); }
.heritage-menu .sub-menu .sub-menu { top:-13px; left:100%; }
.heritage-menu li:hover>.sub-menu,.heritage-menu li:focus-within>.sub-menu,.heritage-menu li.is-open>.sub-menu { display:block; }
.heritage-submenu-toggle { background:transparent; border:0; padding:8px 4px; color:inherit; cursor:pointer; }
.heritage-hero { min-height:465px; }
.heritage-hero-photo[hidden] { display:none; }
.heritage-hero .heritage-hero-copy { position:relative; z-index:1; }
.heritage-hero h1 { color:var(--white); text-shadow:none; }
.heritage-hero p { color:var(--white); }
.quick-card { box-shadow:none; text-align:left; }
.quick-card h2 { text-transform:none; color:var(--ink); }
.quick-card .icon { color:var(--navy); }
.vision-tesla .vision-copy { position:relative; z-index:1; }
.vision-tesla .tesla-portrait { margin:0; }
.vision-tesla .tesla-portrait img { mix-blend-mode:multiply; }
.heritage-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nt-heritage .news-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:5px; overflow:hidden; background:var(--white); box-shadow:none; transition:none; }
.nt-heritage .news-card:hover { transform:none; box-shadow:none; }
.nt-heritage .news-photo-link { display:block; overflow:hidden; background:var(--paper); }
.nt-heritage .news-photo-link img { width:100%; height:auto; aspect-ratio:1.78; object-fit:cover; }
.nt-heritage .news-photo-link img.news-placeholder { object-fit:contain; padding:30px; }
.nt-heritage .news-body { padding:17px 19px 20px; }
.nt-heritage .news-body time { display:block; color:var(--muted); font-size:12px; margin-bottom:7px; }
.nt-heritage .news-body h3 { font-size:21px; line-height:1.45; margin:0; }
.nt-heritage .news-body p { margin-top:13px; color:var(--muted); font-size:15px; }
.nt-heritage .news-body .text-link { margin-top:16px; }
.nt-heritage .enrollment .action { color:var(--white); }
.heritage-footer { padding:0; margin:0; }
.heritage-footer-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding-block:31px 29px; gap:0; position:relative; z-index:1; }
.heritage-footer-bottom { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; border-top:1px solid #ffffff25; padding-block:17px 23px; font-size:11px; color:#d4dde6; }
.heritage-footer .footer-location h2 { font-family:var(--sans); }
.heritage-footer .footer-links { max-width:570px; }
.heritage-footer .footer-facade { height:auto; }
.partners .partner-logos img { object-fit:contain; width:auto; height:auto; }
.nt-heritage .hero:not(.heritage-hero) { min-height:260px; padding-block:65px; }
.nt-heritage .btn { border-radius:5px; font-family:var(--sans); box-shadow:none; }
.nt-heritage .page-shell { padding-block:45px 65px; }
.nt-heritage .content-body { max-width:850px; }
.nt-heritage .employee-card,.nt-heritage .location-card,.nt-heritage .document-category,.nt-heritage .magazine-card { border-radius:5px; }
.nt-heritage .reveal { opacity:1; transform:none; }
.nt-heritage .news-list-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nt-heritage input,.nt-heritage select,.nt-heritage textarea { max-width:100%; font-family:var(--sans); }
.nt-heritage .search-form { display:flex; flex-wrap:wrap; gap:10px; }
.nt-heritage .search-field { width:100%; padding:12px; border:1px solid var(--line); border-radius:4px; }
.nt-heritage .search-submit { padding:12px 20px; background:var(--navy); color:white; border:0; border-radius:4px; cursor:pointer; }
.nt-heritage .entry-content table { max-width:100%; }
.nt-heritage .entry-content pre { max-width:100%; overflow:auto; }
.nt-heritage .comment-list { padding-left:24px; }
.nt-heritage #main { min-height:40vh; }
.nt-heritage #main:focus { outline:none; }
.nt-heritage .post-content { font-family:var(--sans)!important; color:var(--ink)!important; }
.nt-heritage .institution-vision { background:var(--paper); border-color:var(--line); }
.nt-heritage .institution-vision h2 { font-family:var(--serif); color:var(--navy); }
.nt-heritage :focus-visible { outline:3px solid var(--green); outline-offset:4px; }
@media(max-width:1080px) { .heritage-menu { gap:14px; } .heritage-menu>li>a { font-size:12px; } }
@media(max-width:880px) {
    html:not(.heritage-js) .heritage-header .header-inner { flex-wrap:wrap; padding-block:12px; }
    html:not(.heritage-js) .heritage-header .header-right { width:100%; flex-wrap:wrap; }
    html:not(.heritage-js) .heritage-header .nav { display:flex; position:static; box-shadow:none; width:100%; max-height:none; padding:0; }
    html:not(.heritage-js) .heritage-menu-toggle { display:none; }
    body.nt-heritage .container { width:calc(100% - 44px); }
    .heritage-menu { display:block; width:100%; }
    .heritage-menu>li { border-bottom:1px solid var(--line); }
    .heritage-menu>li>a { font-size:14px; padding:14px 0; }
    .heritage-menu .sub-menu,.heritage-menu .sub-menu .sub-menu { position:static; width:100%; box-shadow:none; border:0; border-left:2px solid var(--green); margin:0 0 12px; }
    .heritage-js .heritage-menu li:not(.is-open)>.sub-menu { display:none; }
    .heritage-menu .heritage-submenu-toggle { position:absolute; right:0; top:5px; width:44px; height:44px; }
    .heritage-menu li:has(>.heritage-submenu-toggle)>a { padding-right:50px; }
    .heritage-news-grid,.nt-heritage .news-list-grid { gap:15px; }
    .heritage-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0; }
    .heritage-footer-bottom { flex-direction:column; gap:11px; }
    .heritage-footer .footer-location:nth-child(4) { padding-left:0; border-left:0; }
}
@media(max-width:782px) { .admin-bar .heritage-header { top:46px; } }
@media(max-width:580px) {
    body.nt-heritage .container { width:calc(100% - 36px); }
    .heritage-news-grid,.nt-heritage .news-list-grid { grid-template-columns:1fr; }
    .heritage-hero { min-height:420px; }
    .heritage-footer-grid { grid-template-columns:1fr 1fr; gap:24px 0; }
    .heritage-footer .footer-location { padding-inline:12px; border-left:1px solid #ffffff25; }
    .heritage-footer .footer-location:nth-child(odd) { padding-left:0; border-left:0; }
    .heritage-footer .footer-location:nth-child(4) { padding-left:12px; border-left:1px solid #ffffff25; }
    .section-heading { align-items:flex-start; }
    .section-heading .text-link { flex-shrink:0; margin-top:5px; }
    .nt-heritage .hero:not(.heritage-hero) { min-height:210px; padding-block:45px; }
    .nt-heritage .hero h1 { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .heritage-header,.ornament,.partners,.heritage-footer,.slide-controls,.heritage-menu-toggle { display:none; } body.nt-heritage { color:#000; background:#fff; } }

/* Navigation follows the first theme's Roboto typography and clearer hierarchy. */
.heritage-header { --heritage-header-height:83px; --heritage-admin-offset:0px; }
.admin-bar .heritage-header { --heritage-admin-offset:32px; }
.heritage-header .nav,.heritage-header .languages,.heritage-menu-toggle { font-family:var(--menu-font); }
.heritage-header .header-right { gap:24px; }
.heritage-header .nav { gap:26px; }
.heritage-menu { gap:26px; }
.heritage-menu>li { flex:none; }
.heritage-menu>li.menu-item-has-children { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; }
.heritage-menu>li>a,.heritage-header .nav>a,.heritage-header .nav>details>summary {
    position:relative; display:block; padding:17px 0; color:var(--navy);
    font-size:15px; font-weight:700; line-height:1.35; letter-spacing:.025em; text-transform:uppercase; white-space:nowrap;
}
.heritage-menu>li>a::before,.heritage-header .nav>a::before {
    content:''; position:absolute; left:0; bottom:8px; width:100%; height:2px;
    background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .18s;
}
.heritage-menu>li:hover>a::before,.heritage-menu>li:focus-within>a::before,
.heritage-menu>li.current-menu-item>a::before,.heritage-menu>li.current-menu-ancestor>a::before,
.heritage-header .nav>a:hover::before,.heritage-header .nav>a:focus-visible::before { transform:scaleX(1); }
.heritage-menu .current-menu-item>a,.heritage-menu .current-menu-ancestor>a,
.heritage-menu>li:hover>a,.heritage-header .nav>details[open]>summary { color:var(--red); }
.heritage-menu .sub-menu,.heritage-header .dropdown {
    width:280px; max-width:calc(100vw - 32px); padding:8px; border:1px solid var(--line); border-top:3px solid var(--red);
    border-radius:0 0 7px 7px; background:var(--white); box-shadow:0 12px 30px #20365020; z-index:10;
}
.heritage-menu>.menu-item-has-children>.sub-menu { left:-12px; top:100%; }
.heritage-menu .sub-menu li { border:0; }
.heritage-menu .sub-menu li+li { border-top:1px solid var(--line); }
.heritage-menu .sub-menu .menu-item-has-children { display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; }
.heritage-menu .sub-menu a,.heritage-header .dropdown>a {
    display:block; min-width:0; padding:11px 12px; font-size:15px; font-weight:500; line-height:1.45;
    text-transform:none; letter-spacing:0; white-space:normal; overflow-wrap:break-word; color:var(--ink); border-radius:3px;
}
.heritage-menu .sub-menu a:hover,.heritage-menu .sub-menu a:focus-visible,
.heritage-menu .sub-menu .current-menu-item>a,.heritage-header .dropdown>a:hover { color:var(--red); background:var(--paper); }
.heritage-menu .sub-menu .sub-menu { top:-11px; left:100%; border-radius:0 7px 7px 7px; }
.heritage-menu>li.opens-left>.sub-menu { left:auto; right:0; }
.heritage-menu .sub-menu li.opens-left>.sub-menu { left:auto; right:100%; }
.heritage-submenu-toggle {
    display:grid; place-items:center; position:static; width:30px; height:44px; padding:0; border:0; border-radius:4px;
    background:transparent; color:var(--navy); cursor:pointer;
}
.heritage-submenu-toggle:hover,.heritage-submenu-toggle[aria-expanded=true] { color:var(--red); background:var(--paper); }
.heritage-chevron { display:block; width:7px; height:7px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .18s; }
.heritage-submenu-toggle[aria-expanded=true]>.heritage-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.heritage-menu .sub-menu .heritage-submenu-toggle { width:38px; }
.heritage-menu .sub-menu .heritage-chevron { transform:rotate(-45deg); }
.heritage-menu .sub-menu .heritage-submenu-toggle[aria-expanded=true]>.heritage-chevron { transform:rotate(135deg); }
.heritage-js .heritage-menu li:not(.is-open)>.sub-menu { display:none; }
.heritage-js .heritage-menu li.is-open>.sub-menu { display:block; }
.heritage-header .nav>details>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.heritage-header .nav summary::after { content:''; display:block; flex:none; width:7px; height:7px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:rotate(45deg); margin-left:3px; }
.heritage-header .nav details[open]>summary::after { transform:rotate(225deg); }
.heritage-header .dropdown .subhead { font-family:var(--menu-font); font-weight:700; }
.heritage-header .languages { padding-left:22px; }
.heritage-header .languages a { font-size:14px; font-weight:600; }
@media(min-width:1081px) {
    .heritage-menu-toggle { display:none; }
}
@media(min-width:1081px) and (max-width:1250px) {
    .heritage-header .brand { gap:12px; }
    .heritage-header .brand-name { font-size:25px; }
    .heritage-header .brand img { width:60px; }
    .heritage-menu,.heritage-header .nav { gap:17px; }
    .heritage-menu>li>a,.heritage-header .nav>a,.heritage-header .nav>details>summary { font-size:14px; }
    .heritage-header .header-right { gap:16px; }
    .heritage-header .languages { padding-left:15px; }
}
@media(max-width:1080px) {
    .heritage-menu-toggle { display:inline-flex; align-items:center; gap:8px; min-width:44px; min-height:44px; padding:9px 11px; border:1px solid var(--line); border-radius:5px; background:var(--white); font-size:14px; font-weight:600; }
    .heritage-menu-toggle[aria-expanded=true] { color:var(--red); background:var(--paper); }
    .heritage-header .nav { display:none; position:absolute; left:0; right:0; top:100%; padding:12px 24px 20px; gap:0; background:var(--white); border-bottom:1px solid var(--line); box-shadow:0 12px 24px #20365018; max-height:calc(100dvh - var(--heritage-header-height) - var(--heritage-admin-offset)); overflow-y:auto; overscroll-behavior:contain; }
    .heritage-header .nav[data-open=true] { display:flex; flex-direction:column; align-items:stretch; }
    .heritage-menu { display:block; width:100%; }
    .heritage-menu>li { border-bottom:1px solid var(--line); }
    .heritage-menu>li:last-child { border-bottom:0; }
    .heritage-menu>li.menu-item-has-children { grid-template-columns:minmax(0,1fr) 48px; }
    .heritage-menu>li>a,.heritage-header .nav>a,.heritage-header .nav>details>summary { padding:17px 0; font-size:15px; letter-spacing:.02em; white-space:normal; min-height:52px; }
    .heritage-menu>li>a::before,.heritage-header .nav>a::before { display:none; }
    .heritage-menu li:has(>.heritage-submenu-toggle)>a { padding-right:8px; }
    .heritage-menu .heritage-submenu-toggle { position:static; width:44px; height:44px; margin:0 0 0 auto; }
    .heritage-menu .sub-menu,.heritage-menu .sub-menu .sub-menu,.heritage-header .dropdown { grid-column:1/-1; position:static; width:100%; max-width:none; margin:0 0 12px; padding:2px 0 2px 12px; border:0; border-left:2px solid var(--line); border-radius:0; box-shadow:none; }
    .heritage-menu .sub-menu li+li { border-top:0; }
    .heritage-menu .sub-menu a,.heritage-header .dropdown>a { padding:12px; font-size:15px; }
    .heritage-menu .sub-menu .menu-item-has-children { grid-template-columns:minmax(0,1fr) 44px; }
    .heritage-menu .sub-menu .heritage-chevron { transform:rotate(45deg) translateY(-2px); }
    .heritage-menu .sub-menu .heritage-submenu-toggle[aria-expanded=true]>.heritage-chevron { transform:rotate(225deg); }
    html:not(.heritage-js) .heritage-header .header-inner { flex-wrap:wrap; padding-block:12px; }
    html:not(.heritage-js) .heritage-header .header-right { width:100%; flex-wrap:wrap; }
    html:not(.heritage-js) .heritage-header .nav { display:flex; position:static; box-shadow:none; width:100%; max-height:none; padding:0; }
    html:not(.heritage-js) .heritage-menu-toggle { display:none; }
}
@media(max-width:782px) { .admin-bar .heritage-header { --heritage-admin-offset:46px; } }
@media(max-width:580px) {
    .heritage-header { --heritage-header-height:74px; }
    .heritage-header .header-right { gap:8px; }
    .heritage-header .languages { padding-left:0; }
    .heritage-header .languages a { font-size:12px; }
    .heritage-menu-toggle { padding:8px; border:0; }
    .heritage-menu-toggle .menu-word { display:none; }
    .heritage-header .nav { padding-inline:20px; }
}
@media(max-width:380px) {
    .heritage-header .brand { gap:7px; }
    .heritage-header .brand img { width:32px; height:46px; }
    .heritage-header .brand-name { font-size:16px; }
    .heritage-header .brand-sub { font-size:8px; max-width:145px; }
    .heritage-header .header-right { gap:4px; }
    .heritage-header .languages { gap:2px; }
    .heritage-header .languages a+a::before { margin-right:4px; }
    .heritage-menu-toggle { min-width:40px; width:40px; padding:6px; }
}
