/*
Theme Name: Data General
Theme URI: https://www.datageneral.kz/
Description: Дочерняя тема Twenty Twenty-Five для ТОО «Data General». Версия 3: пропорции, размеры шрифта и композиция как в референсе Canva (Cloudlet «Your experience matters»), тексты на русском.
Author: Data General
Template: twentytwentyfive
Version: 3.5.1
Requires at least: 6.7
Text Domain: datageneral
*/

/* Единица масштаба: 1 px макета при ширине 1366 px. На широких экранах масштаб растёт до 1.2×, на узких — не меньше min(). */
:root {
	--u: min(0.0732vw, 1.2px);
	--mint: #E1F4EF; --grey: #EFEFEF; --peach: #FFB48A; --line: #000;
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "cv11", "ss01", "calt"; }
:where(h1, h2, h3) { text-wrap: balance; }
[id] { scroll-margin-top: 70px; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.admin-bar .wp-site-blocks { min-height: calc(100vh - 32px); }
.wp-site-blocks > main { flex: 1 0 auto; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.wp-site-blocks > main:not(:has(.dg-hero)) { padding-bottom: var(--wp--preset--spacing--70); }
::selection { background: #000; color: #fff; }

/* Типографика по макету: заголовок секции 84, текст 26/37, подпись 22, мелкий 14–17 */
.dg-h { margin: 0; font-weight: 400; letter-spacing: -0.035em; line-height: 0.95; font-size: max(40px, calc(84 * var(--u))); }
.dg-text { margin: 0; font-size: max(18px, calc(26 * var(--u))); line-height: 1.42; letter-spacing: -0.01em; }
.dg-caption { margin: 0; font-size: max(16px, calc(22 * var(--u))); line-height: 1.4; }
.dg-small { margin: 0; font-size: max(14px, calc(17 * var(--u))); line-height: 1.6; }
.dg-pad { padding-left: calc(48 * var(--u)); padding-right: calc(48 * var(--u)); }

/* ---------- Шапка (в макете её нет; минимальная, белая) ---------- */
.dg-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid #000; }
.admin-bar .dg-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dg-header { top: 0; } }
.dg-header .wp-block-site-title { font-size: max(20px, calc(26 * var(--u))) !important; font-weight: 500 !important; letter-spacing: -0.03em !important; }
.dg-header .wp-block-site-title a, .dg-header .wp-block-navigation a { text-decoration: none; color: #000; }
.dg-header .wp-block-navigation .wp-block-navigation-item__content { padding: 4px 0; border-bottom: 1px solid transparent; }
.dg-header .wp-block-navigation .wp-block-navigation-item__content:hover { border-bottom-color: #000; }
.dg-header .wc-block-mini-cart__button, .dg-header .wc-block-customer-account__account-icon { color: #000; }
.dg-header .wc-block-mini-cart__button { padding: 4px; }
.dg-header .wc-block-mini-cart__badge { background: #000; color: #fff; border: 0; }
.dg-header .wp-block-button__link { padding: 0.55rem 1.1rem; font-size: 0.85rem; }
@media (max-width: 600px) { .dg-header .dg-header-cta { display: none; } }
.wp-block-navigation__responsive-container.is-menu-open { background: #fff; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 24px; font-size: 1.5rem; }

/* ---------- Кнопки ---------- */
.wp-element-button, .wp-block-button__link { border-radius: 999px; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-outline .wp-block-button__link, .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) { color: #000; border: 1px solid #000; background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #000; color: #fff; }

/* ---------- Первый экран: 770 px, белый заголовок 150 px по центру, шар ---------- */
.dg-hero { position: relative; overflow: hidden; min-height: calc(770 * var(--u)); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	background: linear-gradient(110deg, #8FBBAA 0%, #A9C9BC 32%, #D2B39C 64%, #D9A183 100%); padding: calc(90 * var(--u)) calc(48 * var(--u)) calc(70 * var(--u)); }
.dg-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 60% at 50% 55%, rgba(0,0,0,.22), rgba(0,0,0,0) 70%); pointer-events: none; }
.dg-hero > * { position: relative; }
.dg-hero h1 { margin: 0 auto; color: #fff; font-weight: 400; letter-spacing: -0.04em; line-height: 1.08; font-size: max(40px, calc(120 * var(--u))); max-width: 12em; text-shadow: 0 2px 40px rgba(0,0,0,.06); }
.dg-hero .dg-lead { margin: calc(56 * var(--u)) auto 0; color: #fff; font-size: max(18px, calc(32 * var(--u))); line-height: 1.3; letter-spacing: -0.01em; max-width: 30em; }
.dg-hero .wp-block-buttons { justify-content: center; margin-top: calc(110 * var(--u)); }
.dg-hero .wp-block-button__link { color: #000; border: 1px solid #fff; background: #fff; font-size: max(20px, calc(34 * var(--u))); font-weight: 500; letter-spacing: -0.01em; padding: calc(30 * var(--u)) calc(120 * var(--u)); box-shadow: 0 10px 40px rgba(0,0,0,.12); }
.dg-hero .wp-block-button__link:hover { background: #000; color: #fff; border-color: #000; }

/* ---------- Секции ---------- */
.dg-section { padding-top: calc(30 * var(--u)); padding-bottom: calc(90 * var(--u)); }
.dg-grey { background: linear-gradient(135deg, #DCF1EC 0%, #EFEFEF 30%, #EFEFEF 100%); }
.dg-grey-flat { background: var(--grey); }
.dg-thanks { background: linear-gradient(180deg, #EFEFEF 0%, #E9F2EF 70%, #E1F4EF 100%); padding-top: calc(70 * var(--u)); padding-bottom: calc(70 * var(--u)); }
.dg-section .dg-h { padding-top: 0; }

/* три колонки с линейными иконками 150 px */
.dg-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(48 * var(--u)); margin-top: calc(230 * var(--u)); }
@media (max-width: 781px) { .dg-cols3 { grid-template-columns: 1fr; gap: 56px; margin-top: 56px; } }
.dg-feature .dg-icon { width: calc(152 * var(--u)); height: calc(152 * var(--u)); min-width: 110px; min-height: 110px; margin: 0 0 calc(48 * var(--u)); }
.dg-feature .dg-icon svg { width: 100%; height: 100%; display: block; }
.dg-feature .dg-text { margin: 0; }
.dg-feature .dg-caption { margin-top: calc(60 * var(--u)); }

/* форма */
.dg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(48 * var(--u)); align-items: start; }
.dg-form-grid > :first-child { max-width: 32em; }
@media (max-width: 781px) { .dg-form-grid { grid-template-columns: 1fr; gap: 40px; } }
.dg-form-grid .dg-text { margin-top: calc(70 * var(--u)); }
.dg-form { font-size: 14px; color: #000; }
.dg-form label { display: block; margin: 0 0 8px; font-size: max(13px, calc(14 * var(--u))); }
.dg-form .f { margin-bottom: 26px; }
.dg-form input[type=text], .dg-form input[type=email], .dg-form textarea { width: 100%; box-sizing: border-box; background: transparent; border: 1px solid #333; border-radius: 6px; padding: 9px 12px; font: inherit; font-size: 16px; color: #000; }
.dg-form textarea { min-height: 64px; resize: vertical; }
.dg-form .opt { display: flex; align-items: center; gap: 10px; background: #D4D4D4; border-radius: 8px; padding: 15px 14px; margin-bottom: 6px; cursor: pointer; font-size: max(13px, calc(14 * var(--u))); }
.dg-form .opt input { width: 16px; height: 16px; margin: 0; accent-color: #000; }
.dg-form button { display: block; width: 100%; border: 0; border-radius: 999px; background: var(--peach); color: #000; font: inherit; font-size: 16px; padding: 10px 20px; cursor: pointer; margin-top: 8px; }
.dg-form button:hover { background: #FFA26F; }
.dg-form .note { text-align: center; font-size: 11px; color: #444; margin: 10px 0 0; }

/* «Спасибо»: заголовок слева, круг по центру, текст справа */
.dg-thanks { padding-top: calc(50 * var(--u)); padding-bottom: calc(50 * var(--u)); }
.dg-about { display: grid; grid-template-columns: 1fr 1.4fr; gap: calc(48 * var(--u)); align-items: start; }
.dg-about .dg-h { font-size: max(34px, calc(64 * var(--u))); }
.dg-about-text .dg-text { font-size: max(17px, calc(22 * var(--u))); margin: 0 0 calc(22 * var(--u)); max-width: 30em; }
.dg-about-text .dg-facts { margin: calc(30 * var(--u)) 0 0; color: #444; }
@media (max-width: 781px) { .dg-about { grid-template-columns: 1fr; } }

/* ---------- Подвал (мятный, линия сверху, как в макете) ---------- */
.dg-footer { background: var(--mint) !important; border-top: 1px solid #000; padding-top: calc(60 * var(--u)); padding-bottom: calc(60 * var(--u)); }
.dg-footer a { text-decoration: none; color: #000; }
.dg-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dg-footer .dg-small strong { font-weight: 700; }
.dg-footer-grid { display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.dg-footer-grid > * { flex: 0 0 auto; }
.dg-footer .dg-copy { margin-top: calc(40 * var(--u)); font-size: 12px; color: #333; width: 100%; }

/* ---------- Магазин в духе Shopify / PayPal: белый фон, серые плитки с бейджем, чёрные кнопки-пилюли, мягкие тени ---------- */
.woocommerce .woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 13px; color: #6B6B6B; margin-bottom: 16px; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: #000; text-decoration: none; }
.woocommerce main h1.wp-block-post-title, .post-type-archive-product main h1, .tax-product_cat main h1 { font-weight: 400; letter-spacing: -0.035em; font-size: max(34px, calc(64 * var(--u))); margin: 0 0 24px; }
.woocommerce-result-count, .wc-block-product-results-count { color: #6B6B6B; font-size: 14px; }
.woocommerce-ordering select, .wc-block-catalog-sorting select { border: 1px solid #E3E3E3 !important; border-radius: 999px !important; background: #fff; padding: 10px 40px 10px 16px; font: inherit; font-size: 14px; }
.wc-block-product-template, .wc-block-grid__products { gap: 28px 24px !important; margin: 0 !important; }
.wc-block-product, .wc-block-grid__product, li.product { background: transparent !important; border: 0 !important; border-radius: 0; padding: 0 !important; margin: 0 !important; box-shadow: none !important; transform: none !important; }
.wc-block-product .wc-block-components-product-image, .wc-block-product .wp-block-woocommerce-product-image, .wc-block-grid__product-image, li.product > a > img, li.product .attachment-woocommerce_thumbnail {
	display: block; background: #F4F4F5; border-radius: 18px; padding: 40px 20px; margin: 0 0 16px !important; transition: background-color .2s ease, transform .2s ease;
}
.wc-block-product:hover .wc-block-components-product-image, .wc-block-product:hover .wp-block-woocommerce-product-image { background: #ECECEE; transform: translateY(-3px); }
.wc-block-product img, .wc-block-grid__product img, li.product img { max-width: 110px !important; width: 110px; height: auto; margin-inline: auto; display: block; }
.wc-block-product .wp-block-post-title, .wc-block-grid__product-title { font-size: 17px !important; font-weight: 500 !important; line-height: 1.3; letter-spacing: -0.015em; color: #000; margin: 0 0 4px !important; text-align: left !important; }
.wc-block-product .wp-block-post-title a, .wc-block-grid__product-link { text-decoration: none; color: #000; }
.wc-block-product .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-block-product .wp-block-woocommerce-product-price, .wc-block-product .wc-block-components-product-price, .wc-block-grid__product-price { color: #6B6B6B !important; font-weight: 400 !important; font-size: 15px !important; text-align: left !important; margin: 0 0 14px !important; }
.wc-block-product .wc-block-components-product-button { margin: 0 !important; text-align: left; }
.wc-block-product .wp-block-button__link, .wc-block-components-product-button .wp-block-button__link, .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-block; width: auto; font-size: 14px !important; font-weight: 500 !important; padding: 11px 22px !important; border-radius: 999px !important;
	background: #000 !important; color: #fff !important; border: 0 !important; box-shadow: none !important; transition: background-color .15s ease, transform .15s ease;
}
.wc-block-product .wp-block-button__link:hover, .wc-block-components-product-button .wp-block-button__link:hover { background: #333 !important; transform: translateY(-1px); }
.wc-block-product .wc-block-components-product-rating { display: none; }
.wc-block-product-template.columns-3, .wc-block-product-template.columns-4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; }
.single-product .wp-block-woocommerce-product-image-gallery, .single-product .wc-block-product-gallery-large-image, .single-product .woocommerce-product-gallery { background: #F4F4F5; border: 0; border-radius: 22px; padding: 56px 32px; }
.single-product .wp-block-woocommerce-product-image-gallery img, .single-product .wc-block-product-gallery-large-image img, .single-product .woocommerce-product-gallery img { max-width: 240px; margin-inline: auto; }
.single-product .product_title, .single-product h1.wp-block-post-title { font-weight: 400; letter-spacing: -0.035em; font-size: max(32px, calc(56 * var(--u))); margin: 0 0 12px; }
.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price, .single-product p.price, .single-product .price { font-size: 1.4rem; color: #000; font-weight: 500; letter-spacing: -0.02em; }
.single-product .woocommerce-product-details__short-description, .single-product .wp-block-post-excerpt { color: #444; }
.single-product .summary > .price, .single-product .summary > .price .amount, .single-product .summary > .price bdi { font-size: 1.25rem !important; color: #000; font-weight: 500; }
.single-product form.cart select, .single-product .wc-block-add-to-cart-with-options select, .single-product .quantity input.qty, .wc-block-components-text-input input, .wc-blocks-components-select__select {
	border: 1px solid #D9D9D9 !important; border-radius: 12px !important; background: #fff; font: inherit; padding: 13px 16px; height: auto !important; line-height: 1.3 !important; box-shadow: none;
}
.single-product form.cart select:focus, .wc-block-components-text-input input:focus { border-color: #000 !important; outline: none; }
.single-product form.cart select, .single-product .wc-block-add-to-cart-with-options select { min-width: 280px; padding-right: 44px; }
.single-product .quantity input.qty { width: 84px; text-align: center; }
.single-product table.variations th, .single-product table.variations td { border: 0; padding: 8px 12px 8px 0; text-align: left; vertical-align: middle; font-weight: 500; }
.single-product .reset_variations { font-size: 13px; color: #6B6B6B; }
.single-product .woocommerce-variation-price .price { font-size: 1.6rem; }
.single-product .single_add_to_cart_button, .single-product .wc-block-components-product-button .wp-block-button__link {
	border-radius: 999px !important; font-weight: 500 !important; font-size: 16px !important; background: #000 !important; color: #fff !important; border: 0 !important; padding: 15px 34px !important; box-shadow: none !important;
}
.single-product .single_add_to_cart_button:hover { background: #333 !important; }
.single-product .product_meta { color: #6B6B6B; font-size: 13px; margin-top: 24px; }
.single-product .woocommerce-tabs ul.tabs li { border: 0; background: none; border-radius: 0; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 12px 0; margin-right: 24px; font-weight: 500; }
.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom: 2px solid #000; }
.single-product .woocommerce-tabs ul.tabs::before { border-color: #E3E3E3; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 0; border-bottom: 1px solid #ECECEE; padding: 18px 12px; }
.woocommerce table.shop_table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #6B6B6B; font-weight: 500; }
.woocommerce table.shop_table td.product-thumbnail img { width: 56px; background: #F4F4F5; border-radius: 12px; padding: 8px; }
.woocommerce .cart-collaterals .cart_totals, .wc-block-cart__sidebar > .wc-block-components-sidebar, .wc-block-checkout__sidebar, .wc-block-components-sidebar .wc-block-components-panel { background: #fff; border: 0; border-radius: 18px; padding: 24px !important; box-shadow: 0 10px 40px -18px rgba(0,0,0,.25); }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 20px; font-weight: 500; margin-top: 0; }
.woocommerce .cart_totals table.shop_table th, .woocommerce .cart_totals table.shop_table td { padding: 12px 0; }
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button, .woocommerce .checkout-button, .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	border-radius: 999px !important; font-weight: 500 !important; background: #000 !important; color: #fff !important; border: 0 !important; padding: 14px 26px !important; font-size: 15px !important; box-shadow: none !important;
}
.woocommerce .button:hover, .wc-block-components-button:not(.is-link):hover { background: #333 !important; }
.woocommerce .checkout-button, .wc-block-cart__submit-button { width: 100%; text-align: center; font-size: 16px !important; padding: 16px !important; }
.woocommerce .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text { border: 1px solid #D9D9D9; border-radius: 999px; padding: 12px 16px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 500; }
.wc-block-components-checkout-step__title { font-weight: 500; }
.wc-block-components-radio-control__option, .wc-block-components-checkbox { font-size: 15px; }
.woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner { border: 0; border-radius: 14px; background: #F4F4F5; color: #000; }
.woocommerce-info::before, .woocommerce-message::before { color: #000; }
.wc-block-components-notice-banner.is-info, .wc-block-components-notice-banner.is-success { background: #F4F4F5 !important; border: 0 !important; color: #000; }
.wc-block-components-notice-banner.is-info svg, .wc-block-components-notice-banner.is-success svg { fill: #000; }
.woocommerce-info a.button, .woocommerce-message a.button { padding: 8px 16px !important; font-size: 13px !important; }
@media (max-width: 480px) {
	.wc-block-product-template.columns-3, .wc-block-product-template.columns-4 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px 12px !important; }
	.wc-block-product .wc-block-components-product-image, .wc-block-product .wp-block-woocommerce-product-image { padding: 24px 12px; border-radius: 14px; }
	.wc-block-product img { max-width: 72px !important; width: 72px; }
	.wc-block-product .wp-block-post-title { font-size: 15px !important; }
	.wc-block-product .wp-block-button__link { padding: 9px 16px !important; font-size: 13px !important; }
	.single-product form.cart select { min-width: 0; width: 100%; }
}

@media (max-width: 781px) {
	.dg-hero { min-height: 0; padding: 64px 20px 56px; }
	.dg-hero h1 { font-size: 40px; line-height: 1.05; }
	.dg-hero .dg-lead { margin-top: 20px; font-size: 18px; }
	.dg-hero .wp-block-buttons { margin-top: 36px; }
	.dg-hero .wp-block-button__link { font-size: 20px; padding: 16px 44px; }
	.dg-pad { padding-left: 20px; padding-right: 20px; }
	.dg-section { padding-top: 32px; padding-bottom: 48px; }
	.dg-h { font-size: 36px; }
	.dg-text { font-size: 18px; }
	.dg-feature .dg-icon { width: 96px; height: 96px; min-width: 0; min-height: 0; margin-bottom: 20px; }
	.dg-feature .dg-caption { margin-top: 16px; }
	.dg-form-grid .dg-text { margin-top: 16px; }
	.dg-footer { padding: 32px 20px; }
	.dg-footer-grid { flex-direction: column; gap: 20px; }
}


/* Разделы каталога: плитки Софт / Железо и подкатегории */
.dg-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 8px 0 40px; }
.dg-sections .dg-section { display: flex; flex-direction: column; gap: 10px; padding: 28px 28px 24px; background: #F4F4F5; border-radius: 22px; color: #111; text-decoration: none; min-height: 168px; transition: background .2s ease, transform .2s ease; }
.dg-sections .dg-section:hover { background: #EAEAEC; transform: translateY(-2px); }
.dg-sections .dg-section__name { font-size: max(22px, calc(30 * var(--u))); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; }
.dg-sections .dg-section__desc { font-size: 15px; line-height: 1.45; color: #55555B; }
.dg-sections .dg-section__count { margin-top: auto; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #6B6B6B; }
.tax-product_cat .dg-sections { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.tax-product_cat .dg-sections .dg-section { min-height: 120px; padding: 22px 24px 20px; }
.tax-product_cat .dg-sections .dg-section__name { font-size: 20px; }
@media (max-width: 720px) { .dg-sections { grid-template-columns: 1fr; gap: 14px; } .dg-sections .dg-section { min-height: 0; padding: 22px; } }

/* На корневой странице магазина показываем только разделы */
.woocommerce-shop:not(.search) .wp-block-woocommerce-product-collection, .woocommerce-shop:not(.search) .woocommerce-result-count, .woocommerce-shop:not(.search) .woocommerce-ordering { display: none !important; }
.woocommerce-shop .dg-sections { margin-top: 16px; margin-bottom: 80px; }
.woocommerce-shop .dg-sections .dg-section { min-height: 240px; padding: 36px 32px 28px; }
.woocommerce-shop .dg-sections .dg-section__name { font-size: max(28px, calc(44 * var(--u))); }
.woocommerce-shop .dg-sections .dg-section__desc { font-size: 17px; max-width: 34em; }

/* Поиск по каталогу: заголовок + строка поиска */
.dg-catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 8px; }
.dg-catalog-head > h1 { margin-bottom: 0 !important; flex: 1 1 auto; }
.dg-search { display: flex; align-items: center; flex: 0 1 420px; min-width: 260px; height: 48px; padding: 0 6px 0 18px; background: #F4F4F5; border-radius: 999px; border: 1px solid transparent; transition: border-color .15s ease, background .15s ease; }
.dg-search:focus-within { background: #fff; border-color: #111; }
.dg-search input[type="search"] { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; background: transparent; font: inherit; font-size: 15px; color: #111; outline: none; padding: 0; box-shadow: none; }
.dg-search input[type="search"]::placeholder { color: #8A8A8F; }
.dg-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.dg-search button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #111; color: #fff; cursor: pointer; padding: 0; }
.dg-search button:hover { background: #333; }
.search-results.woocommerce .dg-catalog-head > h1, .search .dg-catalog-head > h1 { font-size: max(28px, calc(44 * var(--u))); }
@media (max-width: 720px) { .dg-catalog-head { align-items: stretch; } .dg-search { flex-basis: 100%; } }

/* Пагинация: ровные кружки */
.wp-block-query-pagination { display: flex !important; justify-content: center; align-items: center; gap: 8px; margin: 40px 0 0 !important; flex-wrap: wrap; }
.wp-block-query-pagination-numbers { display: flex; align-items: center; gap: 8px; }
.wp-block-query-pagination .page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #E3E3E6; background: #fff; color: #111; text-decoration: none; font-size: 15px; font-weight: 500; line-height: 1; transition: background .15s ease, border-color .15s ease; }
.wp-block-query-pagination a.page-numbers:hover, .wp-block-query-pagination-previous:hover, .wp-block-query-pagination-next:hover { background: #F4F4F5; border-color: #CFCFD3; }
.wp-block-query-pagination .page-numbers.current { background: #111; color: #fff; border-color: #111; }
.wp-block-query-pagination .page-numbers.dots { border: 0; background: transparent; width: 24px; }
.wp-block-query-pagination-previous, .wp-block-query-pagination-next { font-size: 0 !important; }
.wp-block-query-pagination-previous::before, .wp-block-query-pagination-next::before { content: ""; width: 9px; height: 9px; border-top: 1.5px solid #111; border-right: 1.5px solid #111; display: block; }
.wp-block-query-pagination-previous::before { transform: rotate(-135deg); margin-left: 3px; }
.wp-block-query-pagination-next::before { transform: rotate(45deg); margin-right: 3px; }
.wp-block-query-pagination-previous-arrow, .wp-block-query-pagination-next-arrow { display: none; }

/* Hardware photos: full-size renders instead of 110px icons */
.wc-block-product.dg-hw .wc-block-components-product-image,
.wc-block-product.dg-hw .wp-block-woocommerce-product-image { padding: 18px 18px; }
.wc-block-product.dg-hw img, li.product.dg-hw img { width: 100%; max-width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.single-product.dg-hw-single .wp-block-woocommerce-product-image-gallery img,
.single-product.dg-hw-single .wc-block-product-gallery-large-image img,
.single-product.dg-hw-single .woocommerce-product-gallery img { max-width: 100%; mix-blend-mode: multiply; }
.single-product.dg-hw-single .wp-block-woocommerce-product-image-gallery,
.single-product.dg-hw-single .wc-block-product-gallery-large-image,
.single-product.dg-hw-single .woocommerce-product-gallery { padding: 32px; }

/* Training is a primary service: visible before the company description. */
.dg-header .dg-training-nav a { background:#e1f4ef; border:1px solid #b9d4ca; border-radius:999px; padding:7px 14px!important; }
.dg-hero .wp-block-buttons { gap:16px; margin-top:clamp(28px,4vw,64px); }
.dg-hero .wp-block-button__link { padding:20px clamp(22px,4vw,70px); font-size:clamp(18px,2vw,28px); }
.dg-hero .dg-training-button .wp-block-button__link { background:#e1f4ef; border-color:#e1f4ef; }
.dg-hero .dg-training-button .wp-block-button__link:hover { background:#000; border-color:#000; }
.dg-training-spotlight { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding:clamp(36px,5vw,76px) max(24px,calc(48 * var(--u))); background:#e1f4ef; border-bottom:1px solid #b9d4ca; margin:0!important; }
.dg-training-eyebrow { margin:0 0 14px; font-size:12px; letter-spacing:.14em; }
.dg-training-spotlight h2 { margin:0; font-size:clamp(30px,3.5vw,50px); line-height:1.1; letter-spacing:-.035em; }
.dg-training-spotlight p:not(.dg-training-eyebrow) { margin:0 0 24px; font-size:18px; line-height:1.55; }
.dg-training-spotlight .wp-element-button { display:inline-block; background:#000; color:#fff; padding:14px 24px; text-decoration:none; font-size:16px; text-align:center; }
@media(max-width:780px) { .dg-training-spotlight { grid-template-columns:1fr; gap:24px; } }
@media(max-width:600px) { .dg-hero .wp-block-buttons { width:100%; } .dg-hero .wp-block-button { width:100%; } .dg-hero .wp-block-button__link { box-sizing:border-box; width:100%; padding:16px 20px; } }

@media(min-width:1101px) { .dg-header .alignwide { max-width:1440px!important; width:calc(100% - 48px); } .dg-header .wp-block-navigation__container { gap:16px!important; font-size:14px; } .dg-header .wp-block-navigation-item { white-space:nowrap; } }
html:not([lang="ru"]) .dg-guides-ru { display:none; }
