/* Gurman Family — стилі теми. Кольори/шрифти — з theme.json (var(--wp--preset--…)). */

:root {
	--gm-radius: 14px;
	--gm-shadow: 0 6px 24px rgba(60, 25, 15, .08);
	--gm-curve: 48px;
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }

/* Числа з засічками, як «1998» у макеті */
.gm-num,
.gm-year,
.gm-step-num {
	font-family: var(--wp--preset--font-family--numerals);
	font-weight: 700;
	font-variant-numeric: lining-nums;
}

/* Надзаголовок «НАШІ ПЕРЕВАГИ» */
.gm-eyebrow {
	margin-bottom: .25rem !important;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.gm-green .gm-eyebrow { color: var(--wp--preset--color--white); opacity: .9; }
.gm-eyebrow a { color: inherit; text-decoration: none; }

/* ---------- Шапка ---------- */
.gm-header { position: relative; z-index: 20; }
.gm-header__row {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
}
.gm-header__logo { justify-self: center; margin: 0; }
.gm-header__logo img, .gm-logo-fallback img { display: block; width: 112px; height: auto; }
.gm-header__right { justify-self: end; gap: 1.5rem !important; }
.gm-header a { color: inherit; text-decoration: none; }
.gm-nav .wp-block-navigation-item__content { opacity: .85; transition: opacity .2s; }
.gm-nav .wp-block-navigation-item__content:hover,
.gm-nav .current-menu-item > .wp-block-navigation-item__content,
.gm-nav .wp-block-navigation-item__content[aria-current="page"] { opacity: 1; font-weight: 600; }
.gm-nav--left .gm-mobile-only { display: none; }

.gm-lang { display: flex; align-items: center; gap: .35rem; font-size: var(--wp--preset--font-size--small); white-space: nowrap; }
.gm-lang a, .gm-lang span { opacity: .7; }
.gm-lang .is-current { opacity: 1; font-weight: 700; }
.gm-lang__sep { opacity: .4 !important; }

@media (max-width: 781px) {
	.gm-header__row { grid-template-columns: auto 1fr auto; }
	.gm-nav--left { order: 3; justify-self: end; }
	.gm-header__logo { order: 1; justify-self: start; }
	.gm-header__right { order: 2; justify-self: end; }
	.gm-nav--right { display: none !important; }
	.gm-nav--left .gm-mobile-only { display: list-item; }
	.gm-header__logo img, .gm-logo-fallback img { width: 88px; }
}
.gm-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.gm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.25rem; font-size: 1.25rem; }

/* ---------- Плавні вигини секцій ---------- */
.gm-curve-top { border-radius: 50% 50% 0 0 / var(--gm-curve) var(--gm-curve) 0 0; }
.gm-curve-bottom, .gm-curve-bottom img { border-radius: 0 0 50% 50% / 0 0 var(--gm-curve) var(--gm-curve); }
.gm-curve { border-radius: 50% / var(--gm-curve); }

/* ---------- Перший екран ---------- */
.gm-main > .wp-block-group:first-child,
.gm-main > figure:first-child { margin-top: 0; }
.gm-hero { position: relative; }
.gm-hero__img { margin: 0 !important; }
.gm-hero .wp-block-image.gm-hero__img img {
	display: block; width: 100%;
	height: clamp(260px, 38vw, 560px);
	object-fit: cover;
}
.gm-hero__band { margin-top: calc(var(--gm-curve) * -1) !important; position: relative; }
.gm-hero__band::after {
	/* нижній вигин бежевої смуги */
	content: ""; position: absolute; left: 0; right: 0; bottom: calc(var(--gm-curve) * -1 + 1px); height: var(--gm-curve);
	background: inherit; border-radius: 0 0 50% 50% / 0 0 100% 100%;
}
.gm-hero__title { margin-top: 0; }
.gm-hero__cta { position: relative; z-index: 2; margin-top: calc(var(--wp--preset--spacing--30) * -.2) !important; }
.gm-btn-wide .wp-block-button__link { min-width: 15rem; text-align: center; }

/* ---------- Категорії ---------- */
.gm-cats {
	list-style: none; margin: var(--wp--preset--spacing--40) auto 0; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}
.gm-cats__item { flex: 0 0 calc((100% - 4 * var(--wp--preset--spacing--30)) / 5); min-width: 140px; }
.gm-cats__item a { display: flex; flex-direction: column; align-items: center; gap: .9rem; color: inherit; text-decoration: none; }
.gm-cats__img {
	position: relative; width: 100%; aspect-ratio: 4 / 3;
	display: flex; align-items: center; justify-content: center;
}
.gm-cats__img::before {
	content: ""; position: absolute; left: 4%; right: 4%; bottom: 6%; height: 38%;
	background: var(--wp--preset--color--sand); border-radius: 50%; z-index: 0;
}
.gm-cats__img img { position: relative; z-index: 1; max-height: 100%; width: auto; object-fit: contain; transition: transform .25s ease; }
.gm-cats__item a:hover img { transform: translateY(-6px) scale(1.03); }
.gm-cats__name { font-size: 1.05rem; }
@media (max-width: 781px) {
	.gm-cats__item { flex-basis: calc((100% - 2 * var(--wp--preset--spacing--20)) / 3); min-width: 0; } .gm-cats { gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20); } .gm-cats__name { font-size: .9rem; text-align: center; }
}

/* ---------- Зелені секції ---------- */
.gm-green {
	background-image: var(--gm-leaves);
	background-size: 360px;
	background-repeat: repeat;
	margin-top: 0 !important;
}
.gm-cards > .gm-card {
	border-radius: var(--gm-radius);
	padding: 1.6rem 1.5rem 1.4rem;
	box-shadow: var(--gm-shadow);
}
.gm-card h3 { margin: 1rem 0 .4rem; font-weight: 500; }
.gm-card p { margin: 0; }
.gm-badge-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	background: var(--wp--preset--color--sand); color: var(--wp--preset--color--accent);
}
.gm-badge-icon .gm-icon { width: 18px; height: 18px; }
.wp-block-shortcode:has(.gm-badge-icon) { margin: 0; }

/* ---------- Акція ---------- */
.gm-promo {
	border-radius: var(--gm-radius);
	background-image: var(--gm-leaves-blush) !important;
	background-size: 300px;
	overflow: hidden;
}
.gm-promo h2 { margin-top: 0; font-weight: 500; }
.gm-promo__img { margin: 0; }
.gm-promo__img img { display: block; margin: 0 auto; max-height: 260px; width: auto; object-fit: contain; }

/* ---------- Новини ---------- */
.gm-news .wp-block-post-template { gap: var(--wp--preset--spacing--30); }
.gm-news__card { display: flex; flex-direction: column; gap: .5rem; height: 100%; }
.gm-news__img { margin: 0 0 .5rem; border-radius: var(--gm-radius); overflow: hidden; background: var(--wp--preset--color--sand); aspect-ratio: 16 / 10; }
.gm-news__img img { border-radius: var(--gm-radius); }
.gm-news__title { margin: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-news__title a { color: inherit; text-decoration: none; }
.gm-news .wp-block-post-excerpt { margin: 0; }
.gm-news .wp-block-post-excerpt__excerpt { margin: 0; }
.gm-news .wp-block-post-excerpt__more-text { display: none; }

.gm-more, a.gm-more, .gm-more a {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: underline; text-underline-offset: 3px;
}

/* ---------- Про нас ---------- */
.gm-about-hero { margin: 0 !important; }
.wp-block-image.gm-about-hero img { display: block; width: 100%; height: clamp(240px, 32vw, 480px); object-fit: cover; }
.gm-rounded img, .gm-rounded { border-radius: var(--gm-radius); }
.gm-rounded img { background: var(--wp--preset--color--sand); }

.gm-timeline .gm-step { border-top: 0; }
.gm-year {
	margin: 0 0 .75rem; padding-bottom: .9rem;
	font-size: clamp(2rem, 3.5vw, 2.6rem); line-height: 1;
	color: var(--wp--preset--color--accent);
	border-bottom: 1px solid rgba(43, 27, 22, .15);
}
.gm-step h3 { margin: 0 0 .4rem; font-weight: 500; }
.gm-step p { margin: 0; }

.gm-process__card { border: 1px solid rgba(43, 27, 22, .08); box-shadow: none !important; }
.gm-process__top { align-items: center; }
.gm-process__top > * { margin: 0 !important; }
.gm-step-num { font-size: 1.6rem; color: #D7AFAE; line-height: 1; }

/* ---------- Підвал ---------- */
.gm-footer { margin-top: 0 !important; }
.gm-footer a { color: inherit; text-decoration: none; }
.gm-footer a:hover { text-decoration: underline; }
.gm-footer__title { font-size: var(--wp--preset--font-size--medium); font-weight: 500; margin: 0 0 1rem; }
.gm-footer .wp-block-site-logo img, .gm-footer .gm-logo-fallback img { width: 100px; }
.gm-footer-about { font-size: var(--wp--preset--font-size--x-small); opacity: .85; max-width: 22rem; }
.gm-footer-nav { font-size: var(--wp--preset--font-size--x-small); }
.gm-footer-nav .wp-block-navigation-item__content { opacity: .85; }
.gm-contacts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, auto)); gap: .7rem 1.5rem; font-size: var(--wp--preset--font-size--x-small); }
.gm-contacts li { display: flex; gap: .5rem; align-items: center; opacity: .9; }
.gm-contacts .gm-icon { flex: none; width: 16px; height: 16px; opacity: .7; }
.gm-socials { display: flex; gap: .6rem; margin-top: 1.25rem; }
.gm-socials a {
	width: 2.25rem; height: 2.25rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(0, 0, 0, .25);
}
.gm-socials a:hover { background: rgba(0, 0, 0, .4); text-decoration: none; }
.gm-socials .gm-icon { width: 16px; height: 16px; }
.gm-footer__sep { border-color: rgba(255, 255, 255, .2) !important; margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--20) !important; }
.gm-footer__bottom p { opacity: .6; margin: 0; }
@media (max-width: 600px) { .gm-contacts { grid-template-columns: 1fr; } }

/* ---------- WooCommerce: картка товару ---------- */
.gm-product__media .woocommerce-product-gallery { margin: 0 !important; float: none !important; width: 100% !important; }
.gm-product__media .woocommerce-product-gallery__image img { border-radius: var(--gm-radius); }
.gm-product__summary .wp-block-post-title { margin: .25rem 0 1rem; font-weight: 500; }
.gm-eyebrow--left { text-align: left; }
.gm-attrs { list-style: none; padding: 0; margin: 1rem 0 1.5rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.gm-attrs li { margin: .15rem 0; }
.gm-order .wp-block-button__link {
	background: var(--wp--preset--color--cherry-dark);
	padding: .7rem 1.6rem;
	font-size: var(--wp--preset--font-size--x-small);
}
.gm-order .wp-block-button__link:hover { background: var(--wp--preset--color--cherry); }
.gm-product__desc { margin-top: var(--wp--preset--spacing--40); }

/* Списки товарів (каталог, «Інші продукти») */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
	margin: 0; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: var(--wp--preset--color--sand);
	border-radius: var(--gm-radius);
	padding: .9rem .9rem 1.2rem;
	display: flex; flex-direction: column;
}
.woocommerce ul.products li.product a img {
	margin: 0 0 1rem !important;
	aspect-ratio: 4 / 3; object-fit: contain;
	background: rgba(255, 255, 255, .35);
	border-radius: calc(var(--gm-radius) - 4px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.15rem !important; font-weight: 500; padding: 0 .35rem !important; color: var(--wp--preset--color--ink);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { color: inherit; text-decoration: none; }
.gm-loop-excerpt { margin: .35rem 0 .9rem; padding: 0 .35rem; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }
.woocommerce ul.products li.product .gm-more { margin-top: auto; padding: 0 .35rem; }
.woocommerce ul.products li.product .price { padding: 0 .35rem; color: var(--wp--preset--color--accent); }
.woocommerce ul.products li.product .button { margin: auto .35rem 0; border-radius: 999px; }
.related.products > h2, .gm-related h2 { text-align: center; font-weight: 500; font-size: var(--wp--preset--font-size--x-large); margin-bottom: var(--wp--preset--spacing--40); }
.gm-related .related.products { margin: 0; }

.woocommerce .woocommerce-products-header__title, .gm-shop .page-title { text-align: center; font-weight: 500; }
.woocommerce .woocommerce-result-count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.woocommerce .woocommerce-ordering select { border-radius: 999px; padding: .4rem 1rem; border: 1px solid rgba(43, 27, 22, .2); background: #fff; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 .2rem; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { border-radius: 999px; min-width: 2.2rem; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--wp--preset--color--accent); color: #fff; }

@media (max-width: 1000px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
}

/* Кнопки форм */
.wp-block-search__button { border-radius: 999px; }
.wp-block-search__input { border-radius: 999px; padding-left: 1rem; }

/* Доступність */
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Без зазору між шапкою, вмістом і підвалом */
.wp-site-blocks > * + * { margin-block-start: 0; }
.gm-main { margin-top: 0; }

/* Заглушка для новини без зображення */
.gm-news__card:not(:has(.gm-news__img))::before {
	content: ""; display: block; aspect-ratio: 16 / 10; margin-bottom: .5rem;
	border-radius: var(--gm-radius);
	background: var(--wp--preset--color--sand) url(../img/placeholder.svg) center / 60% no-repeat;
}
.gm-news .wp-block-post-template > li { min-width: 0; }
.gm-footer__sep { width: 100%; max-width: var(--wp--style--global--wide-size, 1200px) !important; margin-left: auto !important; margin-right: auto !important; }
.gm-product__desc:empty { display: none; }
.woocommerce ul.products li.product { text-align: left; }
.gm-related { padding-top: 0 !important; }

/* =========================================================
   Вакансії, Відгуки, Новини, Контакти
   ========================================================= */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.gm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gm-lead { max-width: 46rem; }

.gm-pill {
	display: inline-block; vertical-align: middle;
	padding: .2rem .65rem; border-radius: 999px;
	font-family: var(--wp--preset--font-family--body);
	font-size: .7rem; font-weight: 700; letter-spacing: .02em;
	background: var(--wp--preset--color--accent); color: #fff; text-transform: uppercase;
}
.gm-pill--light { background: #fff; color: var(--wp--preset--color--accent); text-transform: none; margin-left: .5rem; }

/* Вакансії */
.gm-vacancies { width: 100%; }
.gm-vacancy { width: 100%; border-radius: var(--gm-radius); padding: 1.5rem 1.75rem; gap: 1.5rem !important; }
.gm-vacancy h3 { margin: 0 0 .5rem; font-weight: 500; }
.gm-vacancy p { margin: 0 0 .25rem; }
.gm-vacancy__info { flex: 1 1 auto; }
.gm-btn-cherry .wp-block-button__link { background: var(--wp--preset--color--cherry-dark); padding: .6rem 1.4rem; font-size: var(--wp--preset--font-size--x-small); white-space: nowrap; }
.gm-btn-cherry .wp-block-button__link:hover { background: var(--wp--preset--color--cherry); }
@media (max-width: 700px) { .gm-vacancy { flex-wrap: wrap !important; } }
.gm-panel { border-radius: var(--gm-radius); padding: 1.75rem !important; }
.gm-panel h2 { margin-top: 0; }

/* Форми */
.gm-form-wrap { margin-top: 1.25rem; }
.gm-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.gm-field { grid-column: span 6; display: flex; flex-direction: column; gap: .35rem; margin: 0; border: 0; padding: 0; min-width: 0; }
.gm-field--half { grid-column: span 3; }
.gm-field--wide { grid-column: span 4; }
.gm-field--narrow { grid-column: span 2; }
@media (max-width: 600px) { .gm-field--half, .gm-field--wide, .gm-field--narrow { grid-column: span 6; } }
.gm-field > label, .gm-field legend { font-size: .75rem; font-weight: 700; }
.gm-req { color: var(--wp--preset--color--accent); }
.gm-form input[type=text], .gm-form input[type=email], .gm-form input[type=tel], .gm-form textarea {
	width: 100%; box-sizing: border-box;
	padding: .7rem .9rem; border-radius: 8px;
	border: 1px solid rgba(43, 27, 22, .14); background: #fff;
	font: inherit; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink);
}
.gm-form textarea { min-height: 7rem; resize: vertical; }
.gm-form input:focus, .gm-form textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: transparent; }
.gm-file { position: relative; display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 1.1rem; border: 1.5px dashed rgba(43, 27, 22, .2); border-radius: 8px; background: #fff; color: var(--wp--preset--color--muted); font-size: .75rem; font-weight: 400; text-align: center; cursor: pointer; }
.gm-review-form .gm-file { flex-direction: row; justify-content: flex-start; }
.gm-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.gm-file:hover { border-color: var(--wp--preset--color--accent); }
.gm-submit {
	display: block; width: 100%; margin-top: 1.25rem; padding: .85rem 1.5rem;
	border: 0; border-radius: 999px; cursor: pointer;
	background: var(--wp--preset--color--cherry-dark); color: #fff;
	font: inherit; font-size: var(--wp--preset--font-size--x-small); font-weight: 700;
}
.gm-submit:hover { background: var(--wp--preset--color--cherry); }
.gm-notice { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: 8px; font-size: var(--wp--preset--font-size--small); }
.gm-notice--success { background: #E4F1E3; color: #1D5C23; }
.gm-notice--error { background: #FBE3E1; color: #8C1A21; }

/* Форма на червоному тлі (Контакти) */
.gm-contact-form .gm-eyebrow { opacity: .7; }
.gm-contact-form .gm-field > label { color: #fff; }
.gm-contact-form input[type=text], .gm-contact-form input[type=email], .gm-contact-form textarea { background: #FDF6F1; border-color: transparent; }
.gm-contact-form .gm-submit { background: rgba(0, 0, 0, .18); }
.gm-contact-form .gm-submit:hover { background: rgba(0, 0, 0, .3); }
.gm-contact-form .gm-notice--success { background: rgba(255, 255, 255, .92); }

/* Відгуки */
.gm-qr-banner { border-radius: calc(var(--gm-radius) + 4px); padding: 1.75rem 2rem; gap: 1.5rem !important; }
.gm-qr-banner__main { gap: 1.75rem !important; flex: 1 1 32rem; }
.gm-qr-banner h2 { margin: 0 0 .4rem; font-weight: 500; }
.gm-qr-banner p { margin: 0; opacity: .8; max-width: 40rem; }
.gm-qr { flex: none; width: 5.5rem; height: 5.5rem; border-radius: 12px; background: #fff; color: var(--wp--preset--color--ink); display: inline-flex; align-items: center; justify-content: center; }
.gm-qr .gm-icon { width: 44px; height: 44px; stroke-width: 1.4; }
.gm-btn-ghost .wp-block-button__link { background: rgba(0, 0, 0, .18); padding: .7rem 1.6rem; font-size: var(--wp--preset--font-size--x-small); }
.gm-btn-ghost .wp-block-button__link:hover { background: rgba(0, 0, 0, .3); }
@media (max-width: 600px) { .gm-qr-banner__main { flex-wrap: wrap !important; } }

.gm-reviews { list-style: none; margin: var(--wp--preset--spacing--40) 0 0; padding: 0; columns: 3 18rem; column-gap: var(--wp--preset--spacing--30); }
.gm-review { break-inside: avoid; margin: 0 0 var(--wp--preset--spacing--30); padding: 1.25rem 1.4rem; border-radius: var(--gm-radius); background: var(--wp--preset--color--sand); }
.gm-review__head { display: flex; align-items: center; gap: .65rem; margin-bottom: .75rem; }
.gm-review__avatar { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(160, 23, 29, .12); color: var(--wp--preset--color--accent); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.gm-review__avatar .gm-icon { width: 16px; height: 16px; }
.gm-review__who { display: flex; flex-direction: column; line-height: 1.25; flex: 1; }
.gm-review__who strong { font-size: .85rem; }
.gm-review__who time { font-size: .7rem; color: var(--wp--preset--color--muted); }
.gm-review__text { font-size: var(--wp--preset--font-size--x-small); }
.gm-review__text p { margin: 0; }
.gm-review__photo { margin-top: .9rem; }
.gm-review__photo img { border-radius: 10px; width: 100%; height: auto; }
.gm-stars { display: inline-flex; gap: 2px; }
.gm-stars svg { fill: none; stroke: #C99A2E; stroke-width: 1.6; }
.gm-stars svg.is-on { fill: #E0B040; }
.gm-empty { text-align: center; color: var(--wp--preset--color--muted); margin-top: var(--wp--preset--spacing--30); }

.gm-thanks { border-radius: var(--gm-radius); padding: 2rem 1rem; gap: .5rem !important; align-items: center !important; }
.gm-thanks p { margin: 0; }
.gm-review-form { background: var(--wp--preset--color--milk); border: 1px solid rgba(43, 27, 22, .08); border-radius: calc(var(--gm-radius) + 4px); padding: 1.75rem; margin: 0; }
.gm-form-title { margin: 0 0 1rem; font-weight: 500; font-size: var(--wp--preset--font-size--large); }
.gm-rate__stars { display: inline-flex; flex-direction: row-reverse; gap: 2px; vertical-align: middle; }
.gm-rate__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gm-rate__stars label { cursor: pointer; line-height: 0; }
.gm-rate__stars svg { fill: none; stroke: #C99A2E; stroke-width: 1.6; }
.gm-rate__stars input:checked ~ label svg,
.gm-rate__stars label:hover svg, .gm-rate__stars label:hover ~ label svg { fill: #E0B040; }
.gm-rate__stars input:focus-visible + label { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; border-radius: 3px; }
.gm-rate__hint { font-size: .7rem; color: var(--wp--preset--color--muted); margin-left: .4rem; }

/* Контакти */
.gm-contact-list { list-style: none; margin: var(--wp--preset--spacing--30) 0 0; padding: 0; display: grid; gap: 1.1rem; }
.gm-contact-list li { display: flex; gap: .9rem; align-items: center; }
.gm-contact-list small { display: block; font-size: .72rem; color: var(--wp--preset--color--muted); }
.gm-contact-list strong { font-family: var(--wp--preset--font-family--numerals); font-weight: 600; font-size: 1.05rem; }
.gm-contact-list a { color: inherit; text-decoration: none; }
.gm-map { height: 100%; min-height: 320px; border-radius: var(--gm-radius); overflow: hidden; background: var(--wp--preset--color--sand); }
.gm-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
.gm-map--empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; text-align: center; padding: 2rem; color: var(--wp--preset--color--muted); }
.gm-map--empty p { margin: 0; font-size: var(--wp--preset--font-size--small); max-width: 18rem; }
.gm-map--empty small { font-size: .7rem; opacity: .7; }
.gm-social-cards { list-style: none; margin: var(--wp--preset--spacing--50) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--wp--preset--spacing--30); }
.gm-social-cards a { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.3rem; border-radius: var(--gm-radius); background: var(--wp--preset--color--sand); color: inherit; text-decoration: none; transition: transform .2s; }
.gm-social-cards a:hover { transform: translateY(-2px); }
.gm-social-cards small { display: block; font-size: .7rem; color: var(--wp--preset--color--muted); }
.gm-social-cards strong { font-family: var(--wp--preset--font-family--numerals); font-weight: 700; }
.gm-badge-icon--white { background: #fff; }

/* Новини */
.gm-blog h1 { font-weight: 500; }
.gm-featured { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--wp--preset--spacing--40); align-items: center; padding: 1.5rem; border-radius: calc(var(--gm-radius) + 4px); background: var(--wp--preset--color--sand); }
.gm-featured__img { display: block; aspect-ratio: 16 / 10; border-radius: var(--gm-radius); overflow: hidden; background: rgba(255, 255, 255, .35); }
.gm-featured__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gm-ph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.gm-featured__meta { font-size: .75rem; color: var(--wp--preset--color--muted); margin: 0 0 .75rem; }
.gm-featured h2 { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--x-large); font-weight: 500; }
.gm-featured h2 a { color: inherit; text-decoration: none; }
.gm-featured__excerpt { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
@media (max-width: 781px) { .gm-featured { grid-template-columns: 1fr; padding: 1rem; } }
.gm-news__meta { gap: .5rem !important; align-items: center; font-size: .7rem; }
.gm-news__meta > * { margin: 0 !important; }
.gm-news__meta .gm-eyebrow { font-size: .68rem; }
.gm-news__meta .wp-block-post-date { color: var(--wp--preset--color--muted) !important; font-weight: 400; }
.gm-news__meta .gm-eyebrow:not(:empty)::after { content: "|"; margin-left: .5rem; color: rgba(43, 27, 22, .3); }
.gm-pagination { margin-top: var(--wp--preset--spacing--50); gap: .5rem; align-items: center; }
.gm-pagination .page-numbers, .gm-pagination .wp-block-query-pagination-previous, .gm-pagination .wp-block-query-pagination-next {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 2.2rem; height: 2.2rem; padding: 0 .4rem; border-radius: 999px;
	color: var(--wp--preset--color--ink); text-decoration: none; font-size: var(--wp--preset--font-size--small);
}
.gm-pagination .wp-block-query-pagination-previous, .gm-pagination .wp-block-query-pagination-next { background: var(--wp--preset--color--sand); }
.gm-pagination .page-numbers.current { background: var(--wp--preset--color--accent); color: #fff; }
.gm-lead { margin-left: 0 !important; }
.gm-review__photo img { height: 150px; object-fit: cover; background: rgba(255, 255, 255, .4); }
.gm-form .gm-rate { display: block; }
.gm-rate legend { margin-bottom: .35rem; }
.gm-rate__stars { flex-direction: row-reverse; justify-content: flex-end; }
.gm-social-cards { margin-top: var(--wp--preset--spacing--40); }
.gm-map { height: auto; min-height: 320px; }
.wp-block-column:has(> .gm-map) { display: flex; flex-direction: column; }
.wp-block-column:has(> .gm-map) > .gm-map { flex: 1 1 auto; }
@media (max-width: 600px) { .gm-social-cards { grid-template-columns: 1fr 1fr; gap: .75rem; } .gm-social-cards a { padding: .8rem; gap: .6rem; } }

/* ---------- v1.2: точніше до макету ---------- */
.gm-header { border-top: 8px solid var(--wp--preset--color--leaf); padding-top: 1.1rem !important; padding-bottom: 1.1rem !important; }
.gm-footer { border-bottom: 8px solid var(--wp--preset--color--leaf); }
.gm-header__logo img, .gm-logo-fallback img { width: 170px; }
.gm-footer .wp-block-site-logo img, .gm-footer .gm-logo-fallback img { width: 150px; }
@media (max-width: 781px) { .gm-header__logo img, .gm-logo-fallback img { width: 110px; } }
.gm-nav--left .current-menu-item > .wp-block-navigation-item__content,
.gm-nav--left .wp-block-navigation-item__content[aria-current="page"] { box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .55); padding-bottom: 4px; }
.gm-nav--right .wp-block-navigation-item:first-child .wp-block-navigation-item__content { opacity: .6; }
/* Плашка категорії з тарілочкою вже є на фото */
.gm-cats__img::before { display: none; }
.gm-cats__img:has(img[src*="placeholder"])::before { display: block; }
.gm-cats__img img { mix-blend-mode: multiply; }
.gm-green { background-size: 520px; }
.gm-promo { background-size: 420px; }
.gm-promo__img img { max-height: 300px; mix-blend-mode: multiply; }
.gm-hero__band .gm-hero__title { font-weight: 400; }
.gm-hero .wp-block-image.gm-hero__img img { height: clamp(260px, 43vw, 620px); }
.gm-hero__band { margin-top: -36px !important; }
.gm-header .wp-block-navigation { font-size: 1rem; }
.gm-cats__img img { mix-blend-mode: normal; width: 100%; height: auto; max-height: none; }
.gm-cats__img { aspect-ratio: auto; }
.gm-cats__name { font-size: 1.15rem; }
.gm-curve { border-radius: 0; clip-path: ellipse(160% 50% at 50% 50%); }
.gm-promo h2 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); }
.gm-promo__img img { max-height: 320px; }
.related.products ul.products li.product, .related.products .woocommerce-loop-product__title { text-align: left !important; }

/* =========================================================
   v1.3 — слайдер на головній
   ========================================================= */
.gm-slider { position: relative; margin-top: 0 !important; --gm-slide-media-h: clamp(280px, 43vw, 620px); }
.gm-slide { margin: 0 !important; }
.gm-slide__media { margin: 0 !important; overflow: hidden; }
.gm-slide__media img { display: block; width: 100%; height: var(--gm-slide-media-h); object-fit: cover; }
.gm-slide__content { position: relative; z-index: 2; margin-top: -36px !important; padding: var(--wp--preset--spacing--40) 1rem var(--wp--preset--spacing--40) !important; }
.gm-slide__title { margin: 0 0 .75rem; font-weight: 400; font-size: var(--wp--preset--font-size--xx-large); }
.gm-slide__text { margin: 0 auto; max-width: 44rem; }
.gm-slide__cta { margin-top: 1.5rem !important; }
.gm-slide .gm-eyebrow { margin-bottom: .5rem !important; }
/* слайд з невеликим фото (торт): фото по центру на рожевому тлі з візерунком */
.gm-slide--contain .gm-slide__media { background: var(--wp--preset--color--blush) var(--gm-leaves-blush) center / 420px; display: flex; align-items: center; justify-content: center; }
.gm-slide--contain .gm-slide__media img { width: auto; max-width: min(92%, 760px); height: calc(var(--gm-slide-media-h) - 60px); object-fit: contain; mix-blend-mode: multiply; }

/* Режим слайдера (вмикається скриптом; у редакторі слайди йдуть один під одним) */
.gm-slider.is-ready .gm-slider__track { display: grid; }
.gm-slider.is-ready .gm-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s; }
.gm-slider.is-ready .gm-slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease, visibility 0s; z-index: 1; }
.gm-slider.is-ready .gm-slide__media img { transform: scale(1.08); transition: transform 7s ease-out; }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__media img { transform: scale(1); }
.gm-slider.is-ready .gm-slide--contain .gm-slide__media img { transform: translateY(14px) scale(.96); transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.gm-slider.is-ready .gm-slide--contain.is-active .gm-slide__media img { transform: none; }
.gm-slider.is-ready .gm-slide__content > * { opacity: 0; transform: translateY(22px); }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__content > * { animation: gmSlideUp .8s cubic-bezier(.2, .8, .2, 1) forwards; }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__content > :nth-child(2) { animation-delay: .12s; }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__content > :nth-child(3) { animation-delay: .24s; }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__content > :nth-child(4) { animation-delay: .36s; }
@keyframes gmSlideUp { to { opacity: 1; transform: none; } }

/* Кнопка: «дихання» та відблиск при наведенні */
.gm-slide__cta .wp-block-button__link { position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; box-shadow: 0 6px 18px rgba(10, 108, 26, .25); }
.gm-slide__cta .wp-block-button__link::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg); }
.gm-slider.is-ready .gm-slide.is-active .gm-slide__cta .wp-block-button__link::after { animation: gmShine 1.1s ease .9s 1 both; }
.gm-slide__cta .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10, 108, 26, .35); }
.gm-slide__cta .wp-block-button__link:hover::after { animation: gmShine .9s ease 1 both; }
@keyframes gmShine { to { left: 130%; } }

/* Стрілки й крапки */
.gm-slider__arrow {
	position: absolute; z-index: 5; top: calc(var(--gm-slide-media-h) / 2); transform: translateY(-50%);
	width: 3rem; height: 3rem; border: 0; border-radius: 50%; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .85); color: var(--wp--preset--color--accent);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15); transition: background .2s, transform .2s;
}
.gm-slider__arrow:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.gm-slider__arrow--prev { left: clamp(.75rem, 2.5vw, 2.5rem); }
.gm-slider__arrow--next { right: clamp(.75rem, 2.5vw, 2.5rem); }
.gm-slider__nav { position: absolute; z-index: 5; left: 0; right: 0; top: calc(var(--gm-slide-media-h) - 82px); display: flex; justify-content: center; pointer-events: none; }
.gm-slider__dots { display: flex; gap: .5rem; padding: .45rem .7rem; border-radius: 999px; background: rgba(0, 0, 0, .28); pointer-events: auto; }
.gm-slider__dot { width: 2.2rem; height: .45rem; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .45); cursor: pointer; overflow: hidden; }
.gm-slider__dot span { display: block; width: 0; height: 100%; background: #fff; border-radius: inherit; }
.gm-slider__dot.is-active span { width: 100%; }
.gm-slider.is-playing .gm-slider__dot.is-active span { width: 0; animation: gmProgress var(--gm-slide-delay, 6500ms) linear forwards; }
@keyframes gmProgress { to { width: 100%; } }
.gm-slider__arrow:focus-visible, .gm-slider__dot:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 781px) {
	.gm-slider { --gm-slide-media-h: 300px; }
	.gm-slider__arrow { width: 2.4rem; height: 2.4rem; }
	.gm-slide__title { font-size: 1.85rem; }
	.gm-slider__nav { top: calc(var(--gm-slide-media-h) - 74px); }
}
@media (prefers-reduced-motion: reduce) {
	.gm-slider.is-ready .gm-slide, .gm-slider.is-ready .gm-slide__media img { transition: none !important; transform: none !important; }
	.gm-slider.is-ready .gm-slide__content > * { animation: none !important; opacity: 1; transform: none; }
	.gm-slide__cta .wp-block-button__link::after { display: none; }
}

/* =========================================================
   v1.3 — базовий шрифт 18px: дрібні підписи трохи більші
   ========================================================= */
.gm-review__text, .gm-loop-excerpt { font-size: var(--wp--preset--font-size--small); }
.gm-featured__excerpt { font-size: var(--wp--preset--font-size--medium); }
.gm-footer-about, .gm-footer-nav, .gm-contacts { font-size: var(--wp--preset--font-size--small); }
.gm-form input[type=text], .gm-form input[type=email], .gm-form input[type=tel], .gm-form textarea { font-size: 1rem; }

/* =========================================================
   v1.3 — підвал на мобільних по центру
   ========================================================= */
@media (max-width: 781px) {
	.gm-footer, .gm-footer .wp-block-column { text-align: center; }
	.gm-footer .wp-block-site-logo, .gm-footer .gm-logo-fallback { display: flex; justify-content: center; }
	.gm-footer .wp-block-site-logo a { display: inline-block; }
	.gm-footer-about { margin-left: auto; margin-right: auto; }
	.gm-footer-nav .wp-block-navigation__container, .gm-footer-nav { justify-content: center !important; }
	.gm-socials { justify-content: center; }
	.gm-contacts { grid-template-columns: 1fr; justify-items: center; }
	.gm-contacts li { justify-content: center; }
	.gm-footer__cols { gap: var(--wp--preset--spacing--40) !important; }
	.gm-footer__bottom { flex-direction: column; align-items: center !important; justify-content: center !important; gap: .4rem !important; }
	.gm-footer__bottom p { text-align: center; }
}
.gm-slide--contain .gm-slide__media { height: var(--gm-slide-media-h); }
.gm-slide--contain .gm-slide__media img { mix-blend-mode: normal; border-radius: 22px; box-shadow: 0 18px 40px rgba(120, 40, 30, .18); height: calc(var(--gm-slide-media-h) - 110px); }

/* =========================================================
   v1.4 — розділи: вакансії, відгуки
   ========================================================= */
.gm-vacancies { display: flex; flex-direction: column; gap: 1rem; margin-top: var(--wp--preset--spacing--40); }
article.gm-vacancy { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; background: var(--wp--preset--color--sand); }
article.gm-vacancy h3 { font-size: var(--wp--preset--font-size--large); }
article.gm-vacancy h3 a { color: inherit; text-decoration: none; }
article.gm-vacancy h3 a:hover { color: var(--wp--preset--color--accent); }
.gm-vacancy__text { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.gm-vacancy__meta { font-size: var(--wp--preset--font-size--x-small); }
@media (max-width: 700px) { article.gm-vacancy { flex-direction: column; align-items: flex-start; } }
.gm-empty--left { text-align: left; max-width: 46rem; }
.gm-vacancy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin: .5rem 0 0; color: var(--wp--preset--color--muted); }
.gm-pill--big { font-size: .9rem; padding: .35rem .9rem; margin-left: 0; border: 1px solid rgba(173, 5, 7, .2); }
.gm-vacancy-body h2, .gm-vacancy-body h3 { font-weight: 500; }
.gm-vacancy-body ul { padding-left: 1.2rem; }
.gm-vacancy-body li { margin: .3rem 0; }
.gm-eyebrow a:hover { text-decoration: underline; }

.gm-consent { flex-direction: row !important; align-items: flex-start; gap: .6rem !important; font-size: var(--wp--preset--font-size--x-small); cursor: pointer; }
.gm-consent input { margin-top: .25rem; accent-color: var(--wp--preset--color--accent); }
.gm-reviews-summary { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: 1rem 0 0; color: var(--wp--preset--color--muted); }
.gm-reviews-summary .gm-num { font-size: 2rem; color: var(--wp--preset--color--ink); line-height: 1; }
.gm-reviews-summary .gm-stars svg { width: 20px; height: 20px; }
.gm-pagination--reviews { display: flex; justify-content: center; gap: .5rem; margin-top: var(--wp--preset--spacing--30); }
