/*
Theme Name: NourishRituals
Theme URI: https://nourishrituals.example
Author: Mario
Description: Премиальная блочная тема (Full Site Editing) для блога NourishRituals. Полностью редактируется через редактор блоков, адаптирована под мобильные устройства.
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nourishrituals
*/

*, *::before, *::after { box-sizing: border-box; }

img { max-width: 100%; height: auto; display: block; }

/* ==========================================================================
   Шапка — sticky, с учётом admin-bar, чтобы не наезжало на панель WP
   ========================================================================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid #efece5;
	backdrop-filter: saturate(180%) blur(6px);
}
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}

.site-header .wp-block-site-title a,
.site-header .wp-block-site-title {
	font-weight: 600;
	letter-spacing: -0.01em;
	text-decoration: none !important;
}

.site-header .wp-block-navigation .wp-block-navigation-item a {
	text-decoration: none;
	transition: color .15s ease;
}
.site-header .wp-block-navigation .wp-block-navigation-item a:hover {
	color: var(--wp--preset--color--primary);
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: #fff !important;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation-item a {
	font-size: 1.15rem;
	padding: 10px 0;
}

/* ==========================================================================
   Теги-пилюли (над заголовком статьи, через post-terms)
   ========================================================================== */
.nr-tags-row {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	line-height: 1;
}
.nr-tags-row a {
	display: inline-block;
	background-color: var(--wp--preset--color--tag-bg);
	color: var(--wp--preset--color--tag-text) !important;
	padding: 6px 14px;
	border-radius: 9999px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color .15s ease;
}
.nr-tags-row a:hover { background-color: #d9dce1; }
.nr-tags-row .wp-block-post-terms__separator { display: none; }

.nr-categories-list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.nr-categories-list li { margin: 0; }
.nr-categories-list a {
	display: inline-block;
	background-color: var(--wp--preset--color--tag-bg);
	color: var(--wp--preset--color--tag-text);
	padding: 6px 16px;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.nr-categories-list a:hover {
	background-color: var(--wp--preset--color--primary);
	color: #fff;
}

/* ==========================================================================
   Карточки в сайдбаре
   ========================================================================== */
.nr-sidebar-card {
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0 1px 2px rgba(20,20,20,0.04), 0 6px 20px rgba(20,20,20,0.05);
	padding: 28px;
}
.nr-sidebar-card .wp-block-image { margin: 0 0 20px; }
.nr-sidebar-card .wp-block-image img {
	border-radius: 16px;
	width: 100%;
	aspect-ratio: 3/2;
	object-fit: cover;
}
.nr-sidebar-card h3, .nr-sidebar-card h4 { margin-top: 0; }

.nr-pinterest-btn .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	background-color: #c8102e;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	padding: 14px 24px;
	transition: background-color .15s ease, transform .15s ease;
}
.nr-pinterest-btn .wp-block-button__link:hover {
	background-color: #a10d26;
	transform: translateY(-1px);
}
.nr-pinterest-btn svg { width: 16px; height: 16px; flex-shrink: 0; fill: currentColor; }

.nr-search .wp-block-search__inside-wrapper {
	border-radius: 16px !important;
	overflow: hidden;
	border: 1px solid #e5e2da !important;
}
.nr-search input.wp-block-search__input {
	border: none !important;
	padding: 12px 18px !important;
	font-size: 0.9rem;
}
.nr-search .wp-block-search__button {
	border-radius: 12px !important;
	margin: 4px !important;
	background-color: var(--wp--preset--color--primary) !important;
	border: none !important;
	font-weight: 500;
	padding: 10px 22px !important;
}
.nr-search .wp-block-search__button:hover {
	background-color: var(--wp--preset--color--primary-dark) !important;
}

/* ==========================================================================
   Статья
   ========================================================================== */
.nr-hero-image img,
.nr-hero-image {
	border-radius: 28px;
	aspect-ratio: 3/2;
	object-fit: cover;
	box-shadow: 0 20px 40px -12px rgba(20,20,20,0.18);
}

.nr-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 0.85rem;
	color: var(--wp--preset--color--tag-text);
	margin: 4px 0 28px;
}
.nr-meta-row .nr-dot {
	width: 4px; height: 4px;
	border-radius: 50%;
	background-color: #d1d5db;
	display: inline-block;
}

.nr-pullquote {
	background-color: var(--wp--preset--color--amber-tint);
	border: 1px solid var(--wp--preset--color--amber-border);
	border-radius: 20px;
	padding: 32px;
	text-align: center;
	margin: 44px 0;
}
.nr-pullquote p { margin: 0; }
.nr-pullquote p:first-child { font-style: italic; font-size: 1.1rem; }
.nr-pullquote p:last-child { font-size: 0.85rem; color: var(--wp--preset--color--tag-text); margin-top: 12px; }

/* ==========================================================================
   Карточки постов в ленте (index.html)
   ========================================================================== */
.nr-post-card {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(20,20,20,0.04), 0 6px 20px rgba(20,20,20,0.05);
	transition: transform .2s ease, box-shadow .2s ease;
}
.nr-post-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 1px 2px rgba(20,20,20,0.04), 0 14px 30px rgba(20,20,20,0.09);
}
.nr-post-card .wp-block-post-featured-image img {
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: 0;
}
.nr-post-card .wp-block-post-title a { text-decoration: none; }
.nr-post-card .wp-block-post-excerpt { color: #4b5563; font-size: 0.95rem; }
.nr-post-card .wp-block-post-excerpt__more-link { font-weight: 600; }

/* ==========================================================================
   Подвал
   ========================================================================== */
.site-footer h4 { margin-top: 0; }
.site-footer .wp-block-navigation-item a { text-decoration: none; opacity: 0.85; }
.site-footer .wp-block-navigation-item a:hover { opacity: 1; }

/* ==========================================================================
   Плавающая кнопка чата
   ========================================================================== */
.nr-floating-chat {
	position: fixed;
	bottom: 32px;
	right: 32px;
	width: 56px;
	height: 56px;
	background-color: var(--wp--preset--color--primary);
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(4,120,87,0.35);
	cursor: pointer;
	z-index: 90;
	transition: background-color .2s ease, transform .2s ease;
	border: none;
}
.nr-floating-chat:hover {
	background-color: var(--wp--preset--color--primary-dark);
	transform: translateY(-2px);
}
.nr-floating-chat svg { width: 24px; height: 24px; fill: #fff; }

/* ==========================================================================
   Адаптация под мобильные устройства
   ========================================================================== */
@media (max-width: 960px) {
	.wp-block-columns { row-gap: 40px !important; }
}

@media (max-width: 782px) {
	.nr-floating-chat { bottom: 18px; right: 18px; width: 50px; height: 50px; }
	.nr-floating-chat svg { width: 22px; height: 22px; }
	.nr-pullquote { padding: 22px; margin: 32px 0; }
	.nr-sidebar-card { padding: 20px; }
	.nr-hero-image img, .nr-hero-image { border-radius: 20px; aspect-ratio: 4/3; }
	.nr-tags-row a { font-size: 0.65rem; padding: 5px 12px; }
	.nr-meta-row { margin-bottom: 20px; }
}

@media (max-width: 480px) {
	.nr-pinterest-btn .wp-block-button__link { font-size: 0.8rem; padding: 12px 18px; }
}
