/*
Theme Name: KNUBA Library — Bard Child
Description: Бібліотека КНУБА. Дочірня тема Bard на основі макетів v1, v2 та v8.
Author: KNUBA
Version: 2.0.4
Template: bard
Text Domain: knuba-library
Requires PHP: 7.4
*/

    :root {
      /* Font Families */
      --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --font-body: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

      /* Font Sizes (Fluid Typography) */
      --fs-h1: clamp(2rem, 4vw, 3rem);        /* ~32px - 48px */
      --fs-h2: clamp(1.5rem, 3vw, 2.25rem);   /* ~24px - 36px */
      --fs-h3: clamp(1.25rem, 2vw, 1.75rem);  /* ~20px - 28px */
      --fs-body: 1rem;                         /* 16px */
      --fs-small: 0.875rem;                    /* 14px */

      /* Line Heights */
      --lh-heading: 1.2;
      --lh-body: 1.6;

      /* Color Palette (Жёлтый + Гармоничный Deep Blue взамен чёрного) */
      --amber: #fbb535;
      --amber-dark: #e99c12;
      
      --color-primary: #1B365D;        /* Глубокий академический синий (вместо чёрного) */
      --color-primary-hover: #112239;  /* Тёмный сине-фиолетовый */
      --color-primary-light: #2C4D75;  /* Средний синий */
      
      --color-accent: #C0392B;
      --color-accent-hover: #A02D22;

      /* Neutral Colors (Без чистого чёрного) */
      --color-text-main: #2C3E50;      /* Тёмно-сине-серый для текста */
      --color-text-muted: #627284;
      --color-bg-main: #FFFFFF;
      --color-bg-alt: #F2F5F9;         /* Светлый холодный фон */
      --color-border: #D0D9E5;

      /* State Colors */
      --color-link: #0056B3;
      --color-success: #27AE60;
      --color-warning: #F39C12;

      --max: 1200px;
      --radius: 16px;
    }

    *{box-sizing:border-box} 
    html{scroll-behavior:smooth} 
    
    body {
      margin: 0;
      color: var(--color-text-main);
      background: var(--color-bg-main);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: var(--lh-body);
    } 

    h1, h2, h3, h4, h5, h6, .site-title {
      font-family: var(--font-heading);
      font-weight: 700;
      line-height: var(--lh-heading);
      color: var(--color-primary);
    }

    body, p, li, input, button {
      font-family: var(--font-body);
    }

    a{color:inherit;text-decoration:none} 
    button,input{font:inherit} 
    img{max-width:100%;display:block}
    .wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
    
    .skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 16px;border:2px solid var(--color-primary)}
    
    /* Header & Brandbar */
    .brandbar{background:var(--amber); color: var(--color-primary);} 
    .brandbar .wrap{min-height:112px;display:grid;grid-template-columns:1.2fr .8fr 1fr;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:16px}
    .brand img{width:76px;height:auto}
    .brand-name{max-width:300px;font-size:13px;line-height:1.28;font-weight:800;text-transform:uppercase;letter-spacing:.04em; color: var(--color-primary);}
    .site-title{text-align:center}
    .site-title strong{display:block;font-size:27px;line-height:1.1; color: var(--color-primary);}
    .site-title span{display:block;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.2; color: var(--color-primary-hover);}
    .contact{text-align:right;font-weight:800; color: var(--color-primary);}
    .contact small{display:block;font-weight:600}

    /* Navigation */
    .nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:0 5px 18px rgb(27 54 93 / .06)}
    .navrow{display:flex;align-items:center;justify-content:space-between;min-height:72px}
    .menu{display:flex;align-items:stretch;gap:8px;list-style:none;padding:0;margin:0}
    .menu>li{position:relative}
    .menu button,.menu>a{height:72px;display:flex;align-items:center;gap:8px;padding:0 15px;border:0;background:none;font-weight:800;text-transform:uppercase;font-size:14px;cursor:pointer; color: var(--color-primary);}
    .menu>li:hover>button,.menu>li:focus-within>button,.menu>a:hover{box-shadow:inset 0 -3px var(--color-primary); color: var(--color-link)}
    .chev{font-size:11px}
    .submenu{position:absolute;display:none;top:100%;left:0;min-width:290px;margin:0;padding:10px;background:#fff;border:1px solid var(--color-border);box-shadow:0 16px 35px rgb(27 54 93 /.14);list-style:none}
    .submenu a{display:block;padding:10px 12px;font-weight:600; color: var(--color-primary)}
    .submenu a:hover{background:var(--color-bg-alt); color: var(--color-link)}
    .menu li:hover>.submenu,.menu li:focus-within>.submenu,.menu li.open>.submenu{display:block}
    .mobile-toggle{display:none}
    .iconbtn{width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:#fff;cursor:pointer;font-size:20px; color: var(--color-primary)}

    .btn{border:0;border-radius:10px;padding:13px 19px;background:var(--amber);color:var(--color-primary);font-weight:800;cursor:pointer}
    .btn:hover{background:var(--amber-dark)}
    .btn.dark{background:var(--color-primary);color:#fff}
    .btn.dark:hover{background:var(--color-primary-hover)}

    /* Hero Section */
    .hero{padding:58px 0 48px;background:linear-gradient(115deg, var(--color-bg-alt) 0 61%, #E6EDF5 61%)}
    .hero-grid{display:grid;grid-template-columns:1.32fr .68fr;gap:42px;align-items:center}
    .eyebrow{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.13em; color: var(--color-primary-light)}
    .hero h1{font-size:var(--fs-h1);line-height:1.05;margin:14px 0 18px;letter-spacing:-.02em;max-width:790px; color: var(--color-primary);}
    .hero p{font-size:19px;color:var(--color-text-main);max-width:660px}
    
    .contact-card{background:var(--color-primary);color:#fff;padding:32px;border-radius:var(--radius);box-shadow:0 20px 45px rgb(27 54 93 /.15)}
    .contact-card h2{margin:0 0 16px;font-size:25px;color:var(--amber)}
    .contact-card dl{margin:0}
    .contact-card dt{font-size:13px;text-transform:uppercase;font-weight:800;margin-top:15px;color:var(--amber)}
    .contact-card dd{margin:4px 0;font-size:18px;font-weight:600}
    .contact-card a{color:#fff;text-decoration:underline;text-underline-offset:3px}
    .contact-card a:hover{color:var(--amber)}

    /* Sections */
    section{padding:72px 0}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
    .section-head h2{margin:0;font-size:var(--fs-h2);line-height:1.05;color:var(--color-primary)}
    .section-head p{margin:0;color:var(--color-text-muted);max-width:520px}
    .textlink{font-weight:800;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;color:var(--color-primary)}
    .textlink:hover{color:var(--color-link)}

    /* Quick Cards */
    .quick{padding-top:0;margin-top:-2px}
    .quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:#fff}
    .quick-card{min-height:170px;padding:25px;border-right:1px solid var(--color-border);transition:.2s}
    .quick-card:last-child{border:0}
    .quick-card:hover{background:var(--amber);transform:translateY(-3px)}
    .quick-card .num{display:block;font-size:13px;font-weight:900;color:var(--color-primary-light)}
    .quick-card h3{font-size:22px;line-height:1.15;margin:34px 0 7px;color:var(--color-primary)}
    .quick-card p{margin:0;color:var(--color-text-muted);font-size:14px}

    /* Resources Section (Тёмно-синий фон вместо чёрного) */
    .resources{background:var(--color-primary);color:#fff}
    .resources .section-head h2{color:#fff}
    .resources .section-head p{color:#D0D9E5}
    .resources .eyebrow{color:var(--amber)}
    .resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .resource-card{padding:25px;min-height:210px;border:1px solid var(--color-primary-light);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;transition:.2s;background:rgba(255,255,255,0.03)}
    .resource-card:hover{border-color:var(--amber);background:var(--color-primary-hover)}
    .resource-card .tag{color:var(--amber);font-size:13px;font-weight:800;text-transform:uppercase}
    .resource-card h3{font-size:23px;line-height:1.15;margin:12px 0;color:#fff}
    .resource-card p{color:#D0D9E5;margin:0}
    .resource-card b{margin-top:20px;color:var(--amber)}

    /* News */
    .news-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}
    .lead-news{position:relative;min-height:430px;border-radius:var(--radius);overflow:hidden;background:var(--color-primary)}
    .lead-news img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.75}
    .lead-copy{position:absolute;inset:auto 0 0;padding:35px;color:#fff;background:linear-gradient(transparent, var(--color-primary))}
    .lead-copy time,.news-item time{font-size:13px;font-weight:800;text-transform:uppercase;color:var(--amber)}
    .news-item time{color:var(--color-primary-light)}
    .lead-copy h3{font-size:30px;line-height:1.12;margin:10px 0 0;color:#fff}
    .news-list{display:grid;gap:12px}
    .news-item{padding:20px;border:1px solid var(--color-border);border-radius:14px}
    .news-item:hover{border-color:var(--color-primary)}
    .news-item h3{font-size:19px;line-height:1.25;margin:8px 0;color:var(--color-primary)}
    .news-item p{margin:0;color:var(--color-text-muted);font-size:14px}

    /* Audiences */
    .audiences{background:var(--color-bg-alt)}
    .aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .aud-card{background:#fff;border-radius:var(--radius);padding:26px;border:1px solid var(--color-border)}
    .aud-card h3{font-size:24px;margin:0 0 14px;color:var(--color-primary)}
    .aud-card ul{padding:0;margin:0;list-style:none}
    .aud-card li+li{border-top:1px solid var(--color-border)}
    .aud-card a{display:flex;justify-content:space-between;padding:12px 0;font-weight:600;color:var(--color-primary)}
    .aud-card a:hover{color:var(--color-link)}
    .aud-card a:after{content:'→';color:var(--amber-dark)}

    /* Docs */
    .docs{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px}
    .docs h2{font-size:var(--fs-h2);line-height:1.05;margin:0;color:var(--color-primary)}
    .doc-list{border-top:2px solid var(--color-primary)}
    .doc-list a{display:grid;grid-template-columns:55px 1fr auto;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--color-border)}
    .doc-list a:hover strong{color:var(--color-link)}
    .doc-list small{color:var(--color-text-muted)}
    .doc-list b:last-child{font-size:13px;border:1px solid var(--color-primary);color:var(--color-primary);padding:4px 8px;border-radius:20px}

    /* Footer (Жёлтый фон с тёмно-синим текстом) */
    footer{background:var(--amber);color:var(--color-primary);padding:48px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:35px}
    .footer-grid h3{margin-top:0;color:var(--color-primary)}
    .footer-grid ul{padding:0;margin:0;list-style:none}
    .footer-grid li{margin:8px 0}
    .footer-grid a:hover{text-decoration:underline}
    .footer-brand{font-size:23px;font-weight:900;line-height:1.15;color:var(--color-primary)}
    .copyright{margin-top:35px;padding-top:20px;border-top:1px solid rgb(27 54 93 /.2);display:flex;justify-content:space-between;font-size:13px;font-weight:600}

    .prototype-note{position:fixed;right:14px;bottom:14px;z-index:30;background:var(--color-primary);color:#fff;padding:9px 13px;border-radius:30px;font-size:12px;box-shadow:0 8px 20px rgb(0 0 0/.2)}

    /* Responsive */
    @media(max-width:900px){
      .brandbar .wrap{grid-template-columns:1fr auto;min-height:88px}
      .site-title{display:none}
      .brand-name{font-size:11px}
      .contact{font-size:14px}
      .navrow{min-height:60px}
      .mobile-toggle{display:block}
      .menu{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;padding:10px 20px 22px;box-shadow:0 15px 25px rgb(0 0 0/.15);flex-direction:column;align-items:stretch}
      .menu.open{display:flex}
      .menu button,.menu>a{height:auto;min-height:48px;width:100%;justify-content:space-between;padding:8px 0}
      .submenu{position:static;box-shadow:none;border:0;border-left:3px solid var(--amber);padding:0 0 0 12px}
      .hero-grid,.news-layout,.docs{grid-template-columns:1fr}
      .quick-grid{grid-template-columns:1fr 1fr}
      .quick-card:nth-child(2){border-right:0}
      .quick-card:nth-child(-n+2){border-bottom:1px solid var(--color-border)}
      .resource-grid,.aud-grid{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:600px){
      .wrap{width:min(100% - 24px,var(--max))}
      .brand img{width:58px}
      .brand-name{max-width:180px}
      .contact small{display:none}
      .hero{padding:38px 0;background:var(--color-bg-alt)}
      .quick-grid,.resource-grid,.aud-grid,.footer-grid{grid-template-columns:1fr}
      .quick-card{border-right:0;border-bottom:1px solid var(--color-border)!important}
      .section-head{display:block}
      .section-head p{margin-top:10px}
      .section-head .textlink{display:inline-block;margin-top:16px}
      .lead-news{min-height:360px}
      .doc-list a{grid-template-columns:42px 1fr}
      .doc-list b:last-child{display:none}
      .copyright{display:block}
      .copyright span{display:block;margin-top:6px}
      .prototype-note{display:none}
    }
  