/* Reset & Base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', Arial, sans-serif; font-size: 14px; line-height: 1.6; color: #333; background: #f5f5f5; }
a { color: #2980b9; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
ul { list-style: none; }
.clearfix::after { content: ''; display: table; clear: both; }
.hidden, .cm-popup-box.hidden { display: none !important; }
.visible-phone { display: none !important; }
.hidden-phone { display: inline !important; }
.hidden-tablet { display: inline !important; }

/* Grid (16-column) */
.container-fluid { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.row-fluid { display: flex; flex-wrap: wrap; gap: 20px; }
.row-fluid::after { content: ''; display: table; clear: both; }
.span2 { flex: 0 0 12.5%; max-width: 12.5%; }
.span5 { flex: 0 0 31.25%; max-width: 31.25%; }
.span11 { flex: 0 0 68.75%; max-width: 68.75%; }
.span14 { flex: 0 0 87.5%; max-width: 87.5%; }
.span16 { flex: 0 0 100%; max-width: 100%; }

/* Float helpers */
.ty-float-right { float: right; }
.ty-float-left { float: left; }

/* Header */
.tygh-header { background: #fff; border-bottom: 3px solid #c0392b; padding: 12px 0; overflow: hidden; }
.header-grid { }
.header-grid .row-fluid { display: flex; flex-wrap: nowrap; align-items: center; gap: 0; }
.top-logo-grid { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; max-width: none; }
.top-logo { display: inline-block; }
.ty-logo-container { display: inline-block; }
.ty-logo-container__image { display: block; }
.menu-btn-wrap { display: none; }
.top-header-content-grid { display: flex; align-items: center; justify-content: flex-end; flex: 1 1 auto; gap: 10px; max-width: none; flex-wrap: wrap; overflow: hidden; }

/* Language Selector & Dropdowns (CSS hover-based, no JS needed) */
.top-languages { position: relative; }
.ty-select-wrapper { position: relative; display: inline-block; }
.ty-select-block__a { cursor: pointer; display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; font-size: 13px; color: #555; }
.ty-select-block__a:hover { color: #c0392b; }
.ty-select-block__arrow { font-size: 10px; }
.cm-popup-box { position: absolute !important; top: 100%; left: 0; background: #fff; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 3px 10px rgba(0,0,0,0.12); z-index: 100; min-width: 140px; }
.ty-select-block__list { padding: 5px 0; }
.ty-select-block__list-item { padding: 0; }
.ty-select-block__list-a { display: flex; align-items: center; gap: 6px; padding: 8px 14px; font-size: 13px; color: #555; white-space: nowrap; }
.ty-select-block__list-a:hover { background: #f0f0f0; color: #c0392b; text-decoration: none; }
.lang-code { color: #999; font-size: 11px; margin-left: 4px; }
/* Show dropdown on hover */
.cm-popup-box.hidden { display: none !important; }
.ty-select-wrapper:hover .cm-popup-box.hidden { display: block !important; }
.search-types { position: relative; display: inline-block; }
.search-types:hover .cm-popup-box.hidden { display: block !important; }
.search-types .ty-select-block { min-width: 120px; }

/* Account area */
.top-account { display: flex; align-items: center; gap: 5px; float: none; }
.ty-btn { display: inline-block; padding: 6px 14px; font-size: 13px; font-weight: 600; border-radius: 4px; cursor: pointer; text-decoration: none !important; border: none; }
.ty-btn__link { color: #555; background: transparent; }
.ty-btn__link:hover { color: #c0392b; }
.ty-btn__secondary { background: #e0e0e0; color: #333; }
.ty-btn__secondary:hover { background: #d0d0d0; }
.ty-btn__primary { background: #c0392b; color: #fff; }
.ty-btn__primary:hover { background: #a93226; }
.ty-btn__login { padding: 8px 20px; }

/* Search */
.top-search { position: relative; }
.ty-search-block { display: flex; align-items: center; gap: 5px; }
.ty-search-block__input { padding: 5px 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; width: 140px; font-family: inherit; }
.ty-search-block__input:focus { border-color: #2980b9; outline: none; }
.ty-search-magnifier { background: #c0392b; color: #fff; border: none; padding: 6px 14px; border-radius: 4px; cursor: pointer; font-size: 13px; font-weight: 600; font-family: inherit; }
.ty-search-magnifier:hover { background: #a93226; }
.ty-search-close { display: none; }
.top-search-icon { display: none; }
.search-types { position: relative; }
.search-types .ty-select-block__a { font-size: 12px; }

/* Top Navigation */
.top-quick-links { display: block; float: none; flex: 0 1 auto; }
.ty-text-links-wrapper { display: inline-block; }
.ty-text-links { display: flex; flex-wrap: wrap; gap: 0; align-items: center; }
.ty-text-links__item { padding: 0; white-space: nowrap; }
.ty-text-links__a { padding: 4px 8px; font-size: 12px; font-weight: 500; color: #333; display: inline-block; }
.ty-text-links__a:hover { color: #c0392b; text-decoration: none; }
.ty-issn-menu-item { font-weight: 600; color: #c0392b; padding: 4px 8px; font-size: 12px; white-space: nowrap; }
.ty-text-links-btn { display: none; }

/* Breadcrumbs */
.ty-breadcrumbs { padding: 12px 0; font-size: 13px; color: #888; }
.ty-breadcrumbs__a { color: #2980b9; }
.ty-breadcrumbs__a:hover { text-decoration: underline; }
.ty-breadcrumbs__slash { margin: 0 6px; color: #ccc; }
.ty-breadcrumbs__current { color: #555; }

/* Content */
.tygh-content { padding: 20px 0; }
.white-page-wrap { background: #fff; border-radius: 6px; padding: 25px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.main-content-grid { margin-bottom: 15px; }

/* Mainbox */
.ty-mainbox-container { margin-bottom: 20px; }
.ty-mainbox-title { font-size: 24px; font-weight: 700; color: #2c3e50; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #c0392b; }
.ty-mainbox-title span { display: block; }
.ty-mainbox-body { font-size: 14px; line-height: 1.7; }
.ty-mainbox-body p { margin-bottom: 10px; }
.ty-mainbox-body a { color: #2980b9; }
.ty-mainbox-body ul, .ty-mainbox-body ol { margin: 10px 0 10px 25px; }
.ty-mainbox-body ul { list-style: disc; }
.ty-mainbox-body ol { list-style: decimal; }
.ty-mainbox-body li { margin-bottom: 6px; }
.ty-mainbox-body table { width: 100%; border-collapse: collapse; margin: 15px 0; }
.ty-mainbox-body th, .ty-mainbox-body td { border: 1px solid #ddd; padding: 8px 12px; text-align: left; }
.ty-mainbox-body th { background: #f8f8f8; font-weight: 600; }
.ty-mainbox-body strong, .ty-mainbox-body b { font-weight: 600; }
.ty-mainbox-body em, .ty-mainbox-body i { font-style: italic; }

.ty-mainbox-simple-container { margin-bottom: 20px; }
.ty-mainbox-simple-title { font-size: 18px; font-weight: 700; color: #2c3e50; margin-bottom: 15px; padding-bottom: 8px; border-bottom: 1px solid #eee; }
.ty-mainbox-simple-body { font-size: 14px; }

/* WYSIWYG Content */
.ty-wysiwyg-content { line-height: 1.7; }
.ty-wysiwyg-content p { margin-bottom: 10px; }
.ty-wysiwyg-content a { color: #2980b9; }

/* Sidebar menu */
.black-block-menu { background: #f9f9f9; padding: 20px; border-radius: 6px; border: 1px solid #eee; }
.ty-menu-vertical .ty-menu__items { padding: 0; }
.ty-menu-vertical .ty-menu__item { border-bottom: 1px solid #eee; }
.ty-menu-vertical .ty-menu__item:last-child { border-bottom: none; }
.ty-menu-vertical .ty-menu__item-link { display: block; padding: 8px 0; color: #333; font-size: 14px; font-weight: 500; }
.ty-menu-vertical .ty-menu__item-link:hover { color: #c0392b; text-decoration: none; }
.ty-menu-vertical .ty-menu__submenu-item-header { }
.ty-menu-vertical .btn-order .ty-menu__item-link { color: #c0392b; font-weight: 600; }

/* Footer */
.tygh-footer { background: #2c3e50; color: #ccc; padding: 25px 0; margin-top: 30px; }
.ty-footer-menu { display: flex; flex-wrap: wrap; gap: 20px; }
.ty-footer-menu-main, .ty-footer-menu-additional { flex: 1; }
.ty-footer-menu .ty-menu__items { display: flex; flex-wrap: wrap; gap: 0; }
.ty-footer-menu .ty-menu__item { }
.ty-footer-menu .ty-menu__item-link { display: inline-block; padding: 4px 10px; color: #ecf0f1; font-size: 13px; }
.ty-footer-menu .ty-menu__item-link:hover { color: #fff; text-decoration: underline; }
.ty-footer-menu .btn-order .ty-menu__item-link { color: #e74c3c; font-weight: 600; }

.founders { padding-top: 20px; border-top: 1px solid #3d566e; margin-top: 15px; }
.founders-wrap { display: flex; flex-wrap: wrap; gap: 30px; }
.founders-one { flex: 1; min-width: 200px; }
.founders-one-title { font-weight: 600; font-size: 13px; color: #ecf0f1; margin-bottom: 4px; }
.founders-one-descr { font-size: 13px; color: #bdc3c7; margin-bottom: 4px; }
.founders-one-link { font-size: 12px; }
.founders-one-link a { color: #3498db; }
.founders-one-link a:hover { color: #5dade2; }

.footer-bottom { border-top: 1px solid #3d566e; margin-top: 15px; padding-top: 15px; }
.footer-bottom-left { font-size: 12px; color: #95a5a6; }

/* Sidebar right (login panel) */
.sidebar-right { display: none; position: fixed; right: 0; top: 0; width: 320px; height: 100vh; background: #fff; box-shadow: -3px 0 15px rgba(0,0,0,0.2); z-index: 1000; padding: 20px; }
.sidebar-right-close { cursor: pointer; text-align: right; font-size: 20px; }
.sidebar-right-title { font-size: 18px; font-weight: 700; margin-bottom: 15px; }
.ty-login { margin-top: 10px; }
.ty-login__input { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; margin-bottom: 10px; font-size: 14px; font-family: inherit; }
.ty-login__input:focus { border-color: #2980b9; outline: none; }
.ty-login__filed-label { display: block; font-size: 13px; margin-bottom: 4px; color: #555; }
.ty-login__filed-label.hidden { display: none; }
.ty-control-group { margin-bottom: 12px; }
.buttons-container { margin: 15px 0; }
.ty-password-forgot { margin-top: 10px; }
.ty-password-forgot__a { font-size: 13px; color: #2980b9; }
.ty-hybrid-auth { margin-top: 20px; }
.ty-hybrid-auth__icon-container { display: flex; gap: 8px; }
.ty-hybrid-auth__icon { display: inline-block; }
.ty-hybrid-auth__icon img { width: 40px; height: 40px; border-radius: 6px; }
.ty-subheader { font-size: 14px; color: #888; margin-bottom: 10px; font-weight: 500; }

/* Social buttons */
.ty-social-buttons { margin: 20px 0; }

/* Up button */
#up_button { display: none; position: fixed; bottom: 30px; right: 30px; width: 40px; height: 40px; background: #c0392b; border-radius: 50%; cursor: pointer; z-index: 100; }
#up_button span { display: block; width: 0; height: 0; margin: 14px auto 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 10px solid #fff; }

/* Mobile sidebar */
.mobile-sidebar { display: none; }

/* Ajax overlays */
.ty-ajax-overlay, .ty-ajax-loading-box { display: none; }
.cm-notification-container { display: none; }

/* Helper */
.ty-helper-container { }

/* Indexing logos */
.indexing-logos { display: flex; flex-wrap: wrap; gap: 15px; align-items: center; margin: 20px 0; }
.indexing-logos img { max-height: 40px; opacity: 0.7; }
.indexing-logos img:hover { opacity: 1; }

/* Issue pages */
.ty-product-list { }
.ty-product-list__item { border-bottom: 1px solid #eee; padding: 15px 0; }
.ty-product-list__item:last-child { border-bottom: none; }
.product-title { font-size: 16px; font-weight: 600; }
.product-title a { color: #2c3e50; }
.product-title a:hover { color: #c0392b; }
.ty-product-list__rating { margin: 5px 0; }

/* Tables in content */
.table { width: 100%; border-collapse: collapse; }
.table td, .table th { border: 1px solid #ddd; padding: 8px; }
.table th { background: #f5f5f5; }

/* Responsive */
@media (max-width: 992px) {
    .span2, .span5, .span11, .span14 { flex: 0 0 100%; max-width: 100%; }
    .row-fluid { flex-direction: column; gap: 15px; }
    .header-grid .row-fluid { flex-direction: row; flex-wrap: wrap; }
    .top-header-content-grid { flex-wrap: wrap; }
    .ty-search-block__input { width: 150px; }
}
@media (max-width: 768px) {
    .top-quick-links { display: none; }
    .top-search { display: none; }
    .top-account { display: none; }
    .top-languages { display: none; }
    .menu-btn-wrap { display: block; cursor: pointer; }
    .menu-btn { width: 24px; height: 3px; background: #333; position: relative; }
    .menu-btn::before, .menu-btn::after { content: ''; position: absolute; width: 24px; height: 3px; background: #333; left: 0; }
    .menu-btn::before { top: -7px; }
    .menu-btn::after { top: 7px; }
    .header-grid .row-fluid { justify-content: space-between; }
    .ty-footer-menu { flex-direction: column; gap: 10px; }
    .founders-wrap { flex-direction: column; gap: 15px; }
    .visible-phone { display: block !important; }
    .hidden-phone { display: none !important; }
}
