/**
 * wpFace Store — стили темы поверх UIkit-шаблона.
 * Цвета, шрифты, скругления задаются CSS-переменными из настроек темы (inc/dynamic-css.php).
 */

/* ------------------------------------------------------------- базовое */
html {
	font-family: var(--wpfs-font);
	font-size: var(--wpfs-font-size, 16px);
	color: var(--wpfs-text);
	background: var(--wpfs-bg);
}
body { background: var(--wpfs-bg); }
h1, h2, h3, h4, h5, h6, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6,
.uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-hero, .uk-logo {
	font-family: var(--wpfs-font-heading);
	font-weight: var(--wpfs-heading-weight);
}
h1, .uk-h1 { font-size: calc(2.0rem * var(--wpfs-heading-scale)); }
h2, .uk-h2 { font-size: calc(1.6rem * var(--wpfs-heading-scale)); }
@media (min-width: 960px) {
	h1, .uk-h1 { font-size: calc(2.625rem * var(--wpfs-heading-scale)); }
	h2, .uk-h2 { font-size: calc(2rem * var(--wpfs-heading-scale)); }
}

.uk-container:not(.uk-container-small):not(.uk-container-xsmall) { max-width: var(--wpfs-container); }

/* скругления */
.uk-card, .uk-button, .uk-input, .uk-select, .uk-textarea, .uk-alert, .uk-label,
.uk-dropdown, .uk-navbar-dropdown, .uk-border-rounded, .uk-notification-message,
.tm-media-box-frame, .uk-search-default .uk-search-input { border-radius: var(--wpfs-radius); }
.tm-product-card-add-button, .uk-badge, .uk-border-circle, .uk-icon-button { border-radius: 500px; }
.tm-products-grid .tm-product-card { border-radius: 0; }

/* фон карточек и секций */
.uk-card-default, .uk-section-default, .tm-product-nav, .uk-offcanvas-bar .uk-card-default { background-color: var(--wpfs-surface); }
.tm-navbar-container:not(.uk-navbar-transparent) { background-color: var(--wpfs-header-bg); }

/* тени карточек */
.wpfs-shadow-none .uk-card-default { box-shadow: none; border: 1px solid var(--wpfs-border); }
.wpfs-shadow-medium .uk-card-default { box-shadow: 0 5px 15px rgba(0, 0, 0, .08); }
.wpfs-shadow-large .uk-card-default { box-shadow: 0 14px 25px rgba(0, 0, 0, .16); }

/* кнопки */
.uk-button-primary, .uk-button-primary:hover, .uk-button-primary:focus, .uk-section-primary .uk-button-primary.tm-button-on-primary:hover { color: var(--wpfs-on-primary); }
.uk-light .uk-button-primary.tm-button-on-primary { background: var(--wpfs-on-primary); color: var(--wpfs-primary); }
.wpfs-btn-normal .uk-button { text-transform: none; }
body:not(.wpfs-nav-upper) .uk-navbar-nav > li > a { text-transform: none; }

/* блок подписки */
.tm-subscribe.uk-section-primary { background-color: var(--wpfs-subscribe-bg); }

/* ---------------------------------------------------------------- шапка */
.tm-logo { gap: 10px; }
.tm-logo-img { height: var(--wpfs-logo-height); width: auto; max-width: 260px; object-fit: contain; }
.tm-logo-mark {
	display: inline-block; flex: none;
	width: calc(var(--wpfs-logo-height) * .85); height: calc(var(--wpfs-logo-height) * .85);
	border: 3px solid currentColor; border-radius: calc(var(--wpfs-radius) + 3px);
}
.tm-logo-text { font-size: calc(var(--wpfs-logo-height) * .75); line-height: 1; white-space: nowrap; }
.tm-footer .tm-logo { padding: 0; min-height: 0; }

.tm-navbar-button .uk-badge { position: absolute; top: 18px; right: 8px; }
.tm-navbar-button { position: relative; }
.tm-navbar-button .uk-badge[hidden] { display: none; }
.tm-cart-total { font-size: .875rem; color: var(--wpfs-heading); }
.uk-navbar-dropdown-nav .uk-nav-sub { padding-left: 15px; }
.tm-mega-img { width: 80px; height: 80px; object-fit: contain; }
.tm-toolbar-drop { width: 300px; }
.tm-drop-map iframe, .tm-drop-map .tm-map { width: 100%; height: 150px; border: 0; display: block; }
.uk-navbar-center .tm-primary-nav .uk-navbar-nav > li > a { padding: 0 12px; }

/* ----------------------------------------------------------- шапка страницы */
.tm-page-header h1 { word-break: break-word; }

/* ---------------------------------------------------------------- слайдер */
.tm-home-slider .uk-slideshow-items > li > * { color: inherit; }
.tm-slide-caption { max-width: 560px; }
.tm-slide-caption.uk-dark h2, .tm-slide-caption.uk-dark p { color: var(--wpfs-heading); }
@media (max-width: 639px) { .tm-slide-caption .uk-heading-small { font-size: 1.6rem; } .tm-slide-caption .uk-text-large { font-size: 1rem; } }

/* ----------------------------------------------------------------- баннер */
.tm-banner { min-height: 280px; display: flex; align-items: center; }
.tm-banner-body { max-width: 640px; }
.uk-light.tm-banner .uk-button-default { color: #fff; border-color: rgba(255, 255, 255, .7); }

/* --------------------------------------------------------- контент записей */
.tm-content { line-height: 1.7; }
.tm-content > :last-child { margin-bottom: 0; }
.tm-content img { max-width: 100%; height: auto; border-radius: var(--wpfs-radius); }
.tm-content a { text-decoration: underline; text-underline-offset: 2px; }
.tm-content blockquote { border-left: 3px solid var(--wpfs-primary); padding-left: 20px; font-size: 1.1rem; }
.tm-content table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.tm-content th, .tm-content td { border-bottom: 1px solid var(--wpfs-border); padding: 10px 12px; text-align: left; }
.tm-content ul, .tm-content ol { padding-left: 25px; }
.tm-content pre { white-space: pre-wrap; }
.tm-content details { border: 1px solid var(--wpfs-border); border-radius: var(--wpfs-radius); padding: 12px 16px; margin-bottom: 10px; background: var(--wpfs-surface); }
.tm-content details summary { cursor: pointer; color: var(--wpfs-heading); font-weight: 500; }
.tm-content details[open] summary { margin-bottom: 10px; }
.tm-full-width > *:not(.alignfull):not(.alignwide) { max-width: var(--wpfs-container); margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
.alignleft { float: left; margin: 0 20px 20px 0; }
.alignright { float: right; margin: 0 0 20px 20px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-size: .875rem; color: var(--wpfs-muted); text-align: center; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed !important; z-index: 10000; top: 10px; left: 10px; width: auto; height: auto; clip: auto; padding: 10px 15px; background: #fff; color: var(--wpfs-heading); }
.sticky, .bypostauthor, .gallery-caption { }
.tm-article-link:hover { text-decoration: none; }
.tm-article-link .uk-card:hover h3 { color: var(--wpfs-primary); }
.tm-article-footer { gap: 15px; border-top: 1px solid var(--wpfs-border); padding-top: 20px; }

/* виджеты */
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li { padding: 4px 0; }
.widget-title { margin-bottom: 15px; }
.widget select { width: 100%; }

/* --------------------------------------------------------------- формы */
.tm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.tm-privacy { display: block; margin-top: 10px; }
.tm-privacy a { color: inherit; text-decoration: underline; }
.uk-light .tm-privacy { color: rgba(255, 255, 255, .7); }
button.uk-form-icon.tm-form-icon-button { border: 0; background: none; cursor: pointer; color: inherit; padding: 0; }
.uk-form-label-required::after { content: " *"; color: var(--wpfs-danger); }
.tm-footer .uk-form-label-required::after { content: none; }
.tm-contact-row { display: flex; align-items: flex-start; }
.tm-contact-row .uk-icon { flex: none; margin-top: 2px; }
.tm-map { display: block; width: 100%; border: 0; }
.tm-contacts-map iframe, .tm-contacts-map .tm-map { width: 100%; height: 400px; border: 0; display: block; }
input[type=number].uk-input { -moz-appearance: textfield; }

/* ---------------------------------------------------------- комментарии */
.uk-comment-list .children { list-style: none; padding-left: 40px; }
.comment-form p { margin: 0 0 15px; }
.comment-form label { display: block; margin-bottom: 5px; font-size: .875rem; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url] {
	width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--wpfs-border); border-radius: var(--wpfs-radius); box-sizing: border-box; background: #fff;
}

/* ------------------------------------------------------------ прочее */
.tm-totop {
	position: fixed; right: 20px; bottom: 20px; z-index: 900;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--wpfs-surface); color: var(--wpfs-heading);
	box-shadow: 0 5px 15px rgba(0, 0, 0, .12);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.tm-totop.tm-visible { opacity: 1; visibility: visible; }
.tm-ratio-3-4::before { padding-top: 133.333%; }
.tm-ratio-3-2::before { padding-top: 66.666%; }
.tm-label-muted { background: var(--wpfs-muted); }
.tm-share .uk-iconnav > * > a { color: var(--wpfs-muted); }
.tm-share .uk-iconnav > * > a:hover { color: var(--wpfs-primary); }
.tm-payments img { max-height: 28px; width: auto; }
.tm-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.tm-footer-bottom .uk-subnav > * > a { color: rgba(255, 255, 255, .6); text-transform: none; }
.tm-footer-main .uk-iconnav { margin-top: 15px; }
.tm-footer-widgets .widget h4 { margin-bottom: 15px; }
.tm-offcanvas-extra { margin-top: 0; border-top: 1px solid var(--wpfs-border); }
.tm-offcanvas-extra .uk-badge[hidden] { display: none; }
.tm-catalog-icon { width: 50px; height: 50px; object-fit: contain; }
.tm-catalog-subs > li { display: inline-block; width: 100%; }
@media (min-width: 640px) { .tm-catalog-subs { column-count: 2; } }
@media (min-width: 1200px) { .tm-catalog-subs { column-count: 3; } }
.tm-catalog-subs > li { break-inside: avoid; }
.tm-advantages .uk-link-reset:hover .uk-text-meta { color: var(--wpfs-primary); }
.tm-advantages img { width: 50px; height: 50px; object-fit: contain; }

/* предупреждения для администратора */
.wpfs-admin-hint { border: 2px dashed var(--wpfs-primary); }

/* UIkit 3.21: в навбаре появились gap и перенос — возвращаем поведение шаблона */
.tm-navbar-container .uk-navbar-left, .tm-navbar-container .uk-navbar-right, .tm-navbar-container .uk-navbar-center,
.tm-toolbar-container .uk-navbar-left, .tm-toolbar-container .uk-navbar-right { flex-wrap: nowrap; gap: 0; }
.tm-navbar-container .uk-navbar-nav, .tm-toolbar-container .uk-navbar-nav { gap: 0; }
.tm-navbar-container .uk-navbar-nav > li > a, .tm-toolbar-container .uk-navbar-nav > li > a, .tm-toolbar-container .uk-navbar-item { padding: 0 15px; }
.tm-navbar-container .uk-navbar-item, .tm-navbar-container .uk-navbar-toggle { padding: 0 10px; flex-shrink: 0; }
@media (min-width: 640px) { .tm-navbar-container .uk-navbar-item, .tm-navbar-container .uk-navbar-toggle { padding: 0 15px; } }
.tm-navbar-container .uk-navbar-left { min-width: 0; flex: 1 1 auto; }
.tm-navbar-container .tm-logo { flex-shrink: 1; min-width: 0; overflow: hidden; }
.tm-navbar-container .tm-logo-text { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 639px) { .tm-logo-text { font-size: calc(var(--wpfs-logo-height) * .6); } .tm-navbar-container .uk-navbar-toggle.uk-hidden\@m { padding-left: 0; } }
.tm-navbar-container .tm-logo { padding-left: 0; }
.tm-navbar-container .uk-navbar-toggle.uk-hidden\@m + .tm-logo { padding-left: 15px; }
@media (min-width: 960px) { .tm-navbar-container .uk-navbar-left > .tm-logo:first-child, .tm-navbar-container .uk-navbar-toggle.uk-hidden\@m + .tm-logo { padding-left: 0; } }
.tm-media-box-wrap > img { width: auto; height: auto; object-fit: contain; }
.tm-footer .uk-logo.tm-logo { padding: 0; min-height: 0; display: inline-flex; justify-content: flex-start; margin-bottom: 15px; color: #fff; }
.tm-navbar-container-fixed { z-index: 980; }
.tm-navbar-container .uk-navbar-nav > li > a { white-space: nowrap; }
@media (min-width: 960px) and (max-width: 1199px) {
	.tm-navbar-container .uk-navbar-nav > li > a { padding: 0 8px; font-size: .8125rem; }
	.tm-navbar-container .uk-navbar-item, .tm-navbar-container .uk-navbar-toggle { padding: 0 8px; }
}
