/*
Theme Name: isuomi
Theme URI: https://isuomi.ru
Author: isuomi.ru
Description: Тема isuomi — финский онлайн. Дизайн перенесён со старого сайта isuomi.ru (цвета, шапка, карточки книг).
Version: 0.1.4
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: isuomi
*/

@font-face{font-family:'Akrobat';src:url('fonts/Akrobat-Regular.woff2') format('woff2'),url('fonts/Akrobat-Regular.woff') format('woff');font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:'isuomiBrandSerif';src:url('fonts/isuomi-brand-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'isuomiBrandSans';src:url('fonts/isuomi-brand-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
--is-header:#4257b2;
--is-header-2:#4257c1;
--is-bg:#f8f9fa;
--is-text:#303545;
--is-muted:#757e9d;
--is-light:#f9fafb;
--is-light-blue:#bcdeff;
--is-accent:#77dddd;
--is-nik:#ffff00;
--is-shadow:3px 3px 6px #adb0bb;
--is-font:'Akrobat',Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--is-bg)}
body{overflow-x:clip;font-family:var(--is-font);color:var(--is-text);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--is-header-2)}
a:hover{color:var(--is-text)}

.site-header{background:var(--is-header);color:var(--is-light);position:relative;z-index:100}
.header-inner{display:flex;align-items:center;gap:28px;padding:8px 14px;min-height:84px}
.site-header .brand{display:inline-flex;flex-direction:column;width:150px;flex:0 0 auto;text-decoration:none;color:var(--is-light);line-height:1}
.site-header .brand:hover{color:var(--is-light)}
.site-header .brand-title{font-family:'isuomiBrandSerif',Georgia,'Times New Roman',serif;font-weight:400;font-size:44.8px;line-height:1;letter-spacing:0;margin-top:-4px}
.site-header .brand-sub{font-family:'isuomiBrandSans','DejaVu Sans',Verdana,Arial,sans-serif;font-weight:400;margin-top:6px;font-size:13px;letter-spacing:.14em;text-align:justify;text-align-last:justify;white-space:nowrap}
.cup{position:relative;display:flex;align-items:center;gap:8px;min-width:70px}
.cup svg{width:34px;height:34px;flex:0 0 auto}
.cup-count{color:var(--is-light-blue);font-size:1.6rem}
.cup-nik{position:absolute;left:4px;bottom:-18px;font-size:.8rem;color:var(--is-nik);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:clip}

.site-nav{display:flex;align-items:center;flex:1 1 auto;gap:20px}
.site-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center}
.site-nav .menu>li{position:relative}
.site-nav .menu>li>a{color:var(--is-light);text-decoration:none;font-weight:bold;font-size:1.3rem;display:inline-block;padding:10px 0}
.site-nav .menu>li.menu-item-has-children>a::after{content:"";display:inline-block;margin-left:8px;vertical-align:middle;border-top:6px solid currentColor;border-left:5px solid transparent;border-right:5px solid transparent}
.site-nav .sub-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:220px;list-style:none;margin:0;padding:6px 0;background:var(--is-header-2);border-radius:6px;box-shadow:0 6px 16px rgba(0,0,0,.25);text-align:center}
.site-nav .sub-menu li+li{border-top:1px solid rgba(255,255,255,.18)}
.site-nav .sub-menu a{display:block;padding:9px 18px;color:var(--is-light);text-decoration:none;font-size:1.1rem}
.site-nav .sub-menu a:hover{background:rgba(255,255,255,.12)}
.site-nav .menu>li:hover>.sub-menu,.site-nav .menu>li:focus-within>.sub-menu,.site-nav .menu>li.is-open>.sub-menu{display:block}

.header-actions{margin-left:auto}
.btn-outline{display:inline-block;padding:7px 12px;border:1px solid #fff;border-radius:5px;color:#fff;text-decoration:none;box-shadow:var(--is-shadow);font-size:1rem;white-space:nowrap}
.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}

.site-header .nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1.5px solid rgba(255,255,255,.55);border-radius:8px;background:transparent;cursor:pointer;padding:12px 10px;flex-direction:column;justify-content:space-between;transition:background-color .18s ease}
.site-header .nav-toggle:hover,.site-header .nav-toggle:focus-visible{background:rgba(255,255,255,.14);outline:none}
.site-header .nav-toggle span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:991.98px){
.header-inner{flex-wrap:wrap;gap:14px;min-height:72px;padding:8px 12px}
.site-header .brand{width:124px}
.site-header .brand-title{font-size:37px;margin-top:-3px}
.site-header .brand-sub{font-size:11px;margin-top:5px;letter-spacing:.12em}
.cup{min-width:0}
.cup svg{width:28px;height:28px}
.cup-count{font-size:1.3rem}
.cup-nik{bottom:-16px;max-width:120px}
.site-header .nav-toggle{display:flex}
.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding:4px 0 14px}
.site-nav.is-open{display:flex}
.site-nav .menu{flex-direction:column;align-items:stretch;gap:0}
.site-nav .menu>li{border-top:1px solid rgba(255,255,255,.15)}
.site-nav .menu>li>a{display:block;padding:12px 4px}
.site-nav .sub-menu{position:static;transform:none;box-shadow:none;border-radius:0;margin-bottom:8px}
.site-nav .menu>li:hover>.sub-menu,.site-nav .menu>li:focus-within>.sub-menu{display:none}
.site-nav .menu>li.is-open>.sub-menu{display:block}
.header-actions{margin:10px 0 0}
.site-footer{padding-bottom:100px}
}

.site-main{min-height:60vh}
.container{max-width:1100px;margin:0 auto;padding:32px 16px}
.page-content h1,.entry-title{font-size:2rem;margin:0 0 16px;color:var(--is-text)}
.entry-content{font-size:1.1rem}
.admin-hint{max-width:760px;margin:32px auto;padding:16px 20px;background:#fff3cd;border:1px solid #ffe69c;border-radius:6px;color:#664d03}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,372px));justify-content:center;gap:14px;padding:45px 16px}
.book-card{display:block;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25);padding:12px 12px 22px;text-align:center;color:var(--is-text);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.book-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.25);color:var(--is-text)}
.book-card .card-img{display:block;width:100%;height:auto;border-radius:3px}
.book-card .card-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:repeating-linear-gradient(45deg,#1f4e9a 0 40px,#4a90d9 40px 80px,#e8f1fb 80px 120px);color:#0b2a66}
.book-card .card-placeholder span{background:#fff;padding:10px 16px;font-size:1.8rem;font-weight:bold}
.book-card .card-text{margin-top:14px;font-size:1rem;line-height:1.55}
.book-card .card-text p{margin:0 0 4px}
.book-card .card-text p:first-child{font-size:1.3rem;margin-bottom:8px}

.site-footer{padding:40px 16px 60px;text-align:center}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 38px}
.footer-menu a{color:#283a8f;text-decoration:none;font-size:1.1rem}
.footer-menu a:hover{text-decoration:underline}
.copyright{margin-top:22px;color:var(--is-muted);font-size:.9rem}

.to-top{position:fixed;right:16px;bottom:24px;width:58px;height:58px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25);font-size:28px;cursor:pointer;color:#111;z-index:90}
.to-top[hidden]{display:none}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}