/*
Theme Name: Sydney Missioner Polished Safe
Theme URI: https://do.portal.uralsky-missioner.ru/
Description: Дополнительная безопасная дочерняя тема для Sydney с мягким улучшением внешнего вида. Не меняет логику WooCommerce, корзины, оформления заказа и Robokassa.
Author: Missioner Institute
Template: sydney
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: sydney-missioner-polished-safe
*/

/*
 * Принцип темы: внешний вид улучшается только CSS-слоем.
 * Не скрываем и не переносим элементы WooCommerce checkout/payment,
 * чтобы не мешать Robokassa и другим платежным шлюзам.
 */

:root {
	--missioner-surface: #ffffff;
	--missioner-muted: #f6f8fb;
	--missioner-border: rgba(20, 33, 61, 0.10);
	--missioner-shadow: 0 12px 34px rgba(20, 33, 61, 0.08);
	--missioner-radius: 18px;
	--missioner-radius-sm: 12px;
	--missioner-text-soft: rgba(20, 33, 61, 0.72);
}

body {
	background: linear-gradient(180deg, #f7f9fc 0, #ffffff 280px);
}

.site,
.site-content {
	background: transparent;
}

/* Шапка: чуть более современная, но без изменения структуры меню Sydney. */
.site-header,
#masthead {
	box-shadow: 0 8px 26px rgba(20, 33, 61, 0.06);
}

.site-header .site-branding,
.site-header .main-navigation,
#masthead .site-branding,
#masthead .main-navigation {
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.main-navigation a,
#mainnav ul li a {
	letter-spacing: 0.01em;
}

/* Универсальные карточки контента. */
.hentry,
.content-area .page,
.content-area .post,
.widget-area .widget,
.sidebar .widget {
	border-radius: var(--missioner-radius);
	box-shadow: var(--missioner-shadow);
	border: 1px solid var(--missioner-border);
	background: var(--missioner-surface);
}

.hentry,
.content-area .page,
.content-area .post {
	padding: clamp(20px, 3vw, 36px);
}

.entry-title,
.page-title,
.single .entry-title {
	letter-spacing: -0.02em;
}

.entry-content p,
.entry-summary p {
	line-height: 1.72;
}

/* Кнопки: сохраняем классы Sydney/WooCommerce, улучшаем форму. */
.roll-button,
button,
input[type="button"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .checkout-button,
.single_add_to_cart_button {
	border-radius: 999px !important;
	box-shadow: 0 10px 22px rgba(20, 33, 61, 0.12);
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.roll-button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .cart .button:hover,
.woocommerce .checkout-button:hover,
.single_add_to_cart_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(20, 33, 61, 0.16);
}

/* Формы: аккуратное оформление без вмешательства в payment gateways. */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
	border-radius: var(--missioner-radius-sm);
	border-color: var(--missioner-border);
	background-color: #fff;
}

input:focus,
textarea:focus,
select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
	box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.12);
	outline: none;
}

/* Магазин: карточки товаров, но без изменения WooCommerce hooks. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	border: 1px solid var(--missioner-border);
	border-radius: var(--missioner-radius);
	background: var(--missioner-surface);
	box-shadow: 0 10px 28px rgba(20, 33, 61, 0.06);
	padding: 16px 16px 20px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(20, 33, 61, 0.10);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	border-radius: 14px;
	background: var(--missioner-muted);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	font-weight: 700;
	line-height: 1.3;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-weight: 700;
}

.woocommerce span.onsale {
	border-radius: 999px;
	padding: 6px 12px;
	min-height: auto;
	line-height: 1.2;
}

/* Страница товара. */
.woocommerce div.product div.images img {
	border-radius: var(--missioner-radius);
	box-shadow: 0 10px 28px rgba(20, 33, 61, 0.06);
}

.woocommerce div.product .summary {
	border: 1px solid var(--missioner-border);
	border-radius: var(--missioner-radius);
	background: var(--missioner-surface);
	box-shadow: var(--missioner-shadow);
	padding: clamp(20px, 3vw, 32px);
}

.woocommerce div.product form.cart {
	padding-top: 12px;
}

.woocommerce .quantity .qty {
	border-radius: 999px;
	min-height: 42px;
}

/* Корзина и оформление заказа: улучшаем читаемость, не трогаем Robokassa radio/input logic. */
.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	border-radius: var(--missioner-radius);
	background: var(--missioner-surface);
	box-shadow: var(--missioner-shadow);
	border: 1px solid var(--missioner-border);
	padding: clamp(18px, 3vw, 30px);
}

.woocommerce table.shop_table {
	border-radius: var(--missioner-radius);
	overflow: hidden;
	border-color: var(--missioner-border);
}

.woocommerce table.shop_table th {
	background: var(--missioner-muted);
	font-weight: 700;
}

.woocommerce-checkout #payment,
.woocommerce-checkout-payment,
#payment {
	border-radius: var(--missioner-radius);
	border: 1px solid var(--missioner-border);
	background: #fff;
}

.woocommerce-checkout #payment ul.payment_methods,
#payment ul.payment_methods {
	padding: 20px;
}

.woocommerce-checkout #payment div.payment_box,
#payment div.payment_box {
	border-radius: var(--missioner-radius-sm);
	background: var(--missioner-muted);
	color: var(--missioner-text-soft);
}

/* Robokassa и другие платежные шлюзы: явно не скрываем их элементы. */
.woocommerce-checkout #payment .payment_method_robokassa,
.woocommerce-checkout #payment .payment_method_rbspayment,
.woocommerce-checkout #payment .payment_method_rbspaymentwoocommerce,
.woocommerce-checkout #payment li[class*="robokassa"],
.woocommerce-checkout #payment li[class*="robokassa"] label,
.woocommerce-checkout #payment li[class*="robokassa"] input {
	visibility: visible;
}

/* Уведомления WooCommerce. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--missioner-radius-sm);
	box-shadow: 0 8px 22px rgba(20, 33, 61, 0.06);
}

/* Подвал: белый фон, чтобы не возвращался синий подвал из старых правок. */
.site-footer,
.footer-widgets,
.footer-area,
#colophon {
	background: #ffffff !important;
	color: #1f2937;
}

.site-footer a,
.footer-widgets a,
.footer-area a,
#colophon a {
	color: inherit;
}

/* Мобильная адаптация. */
@media (max-width: 767px) {
	.hentry,
	.content-area .page,
	.content-area .post,
	.woocommerce div.product .summary,
	.woocommerce-cart-form,
	.cart-collaterals .cart_totals,
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review,
	.woocommerce-order {
		padding: 18px;
		border-radius: 14px;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 12px 12px 16px;
	}

	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr {
		border-radius: 12px;
		margin-bottom: 12px;
		background: #fff;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}
