/* Kosheli – details theme.json can't express. Colours come from the palette so style variations follow. */

/* Engraving plugin picks up the theme's colours and type. */
html:root {
	--cge-accent: var(--wp--preset--color--accent);
	--cge-accent-ink: var(--wp--preset--color--accent-ink);
	--cge-ink: var(--wp--preset--color--contrast);
	--cge-muted: var(--wp--preset--color--contrast-2);
	--cge-line: var(--wp--preset--color--line);
	--cge-paper: var(--wp--preset--color--base-2);
}
.cge-modal { font-family: var(--wp--preset--font-family--body); }
.cge-head h2 { font-family: var(--wp--preset--font-family--display); }
.cge-product { border-radius: var(--wp--custom--radius--medium); }
.cge-product__title { font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; }

/* Template parts sit flush; each template sets its own top spacing. */
.wp-site-blocks > * { margin-block-start: 0; }

/* Small labels */
.kosheli-eyebrow,
.kosheli-eyebrow a {
	color: var(--wp--preset--color--accent-2);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	font-weight: 650;
	text-decoration: none;
	margin: 0;
}
.kosheli-topbar p { margin: 0; letter-spacing: 0.02em; }

/* Header */
.kosheli-header .wp-block-navigation a { text-decoration: none; }
.kosheli-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.kosheli-header .wp-block-site-title a { text-decoration: none; }
.kosheli-header-tools .wp-block-search__button { background: transparent; color: var(--wp--preset--color--contrast); border: 0; padding: 6px; }
.kosheli-header-tools .wc-block-mini-cart__button,
.kosheli-header-tools .wc-block-customer-account a { color: var(--wp--preset--color--contrast); }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--accent-2) !important; color: #fff !important; }

/* Hero */
.kosheli-hero h1 { text-wrap: balance; }
.kosheli-hero .wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; color: var(--wp--preset--color--contrast); }
.kosheli-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.kosheli-hero-img img { width: 100%; height: auto; box-shadow: var(--wp--preset--shadow--soft); }
.kosheli-proof { margin-top: 1rem; }

/* Category cards */
.kosheli-cat figure { margin: 0; overflow: hidden; border-radius: 12px; background: var(--wp--preset--color--base-2); }
.kosheli-cat img { width: 100%; display: block; transition: transform .35s ease; }
.kosheli-cat:hover img { transform: scale(1.035); }
.kosheli-cat-label { margin: 0; font-weight: 600; }
.kosheli-cat-label a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.kosheli-cat-label a:hover { text-decoration: underline; }

/* Steps: a real sequence, so the number leads */
.kosheli-step { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: 1rem; }
.kosheli-step h3 { margin: 0; }
.kosheli-step p { margin: 0; }
.kosheli-step-no { color: var(--wp--preset--color--accent-2); text-transform: uppercase; letter-spacing: 0.09em; font-weight: 700; }

/* Team orders */
.kosheli-team a:not(.wp-element-button) { color: inherit; }
.kosheli-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.kosheli-ticks li { position: relative; padding-left: 1.8rem; }
.kosheli-ticks li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 1.05rem; height: 0.6rem; border-left: 2.5px solid var(--wp--preset--color--accent-2); border-bottom: 2.5px solid var(--wp--preset--color--accent-2); transform: rotate(-45deg) scale(.8); }

/* Product grid cards */
.kosheli-grid .wc-block-product { display: flex; flex-direction: column; }
.kosheli-grid .wc-block-components-product-image { border-radius: var(--wp--custom--radius--medium); overflow: hidden; background: var(--wp--preset--color--base-2); margin-bottom: 0 !important; }
.kosheli-grid .wc-block-components-product-image img { transition: transform .35s ease; }
.kosheli-grid .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.03); }
.kosheli-grid .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.kosheli-grid .wp-block-post-title a:hover { text-decoration: underline; }
.kosheli-grid .wc-block-components-product-price { text-align: left; }
.kosheli-grid .wp-block-woocommerce-product-button { margin-top: auto; }
.kosheli-grid .wc-block-components-product-button__button,
.kosheli-grid .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1.5px solid var(--wp--preset--color--contrast) !important;
	border-radius: var(--wp--custom--radius--small);
	font-weight: 650;
	width: 100%;
}
.kosheli-grid .wc-block-components-product-button__button:hover,
.kosheli-grid .wp-block-button__link:hover { background: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--accent-ink) !important; }
.wc-block-components-product-sale-badge,
.wc-block-components-product-image .wc-block-components-product-sale-badge { background: var(--wp--preset--color--accent-2); color: #fff; border: 0; border-radius: 999px; text-transform: none; font-weight: 650; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); }

/* Related products */
.kosheli-related h2 { margin-bottom: var(--wp--preset--spacing--40); }

/* Shop toolbar */
.kosheli-toolbar .woocommerce-ordering select,
.kosheli-toolbar select { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--small); padding: 0.45rem 0.75rem; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.kosheli-toolbar .woocommerce-result-count { margin: 0; color: var(--wp--preset--color--contrast-2); }
.kosheli-archive-head h1 { margin: 0; }
.kosheli-archive-head p { margin: 0; max-width: 62ch; }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { color: var(--wp--preset--color--contrast-2); }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--wp--preset--color--contrast-2); text-decoration: none; }

/* Single product */
.kosheli-product .woocommerce-product-gallery__wrapper,
.kosheli-product .woocommerce-product-gallery img { border-radius: var(--wp--custom--radius--medium); }
.kosheli-product .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px !important; }
.kosheli-product .flex-control-thumbs li { width: 72px !important; }
.kosheli-product .flex-control-thumbs img { border-radius: 6px; border: 1px solid var(--wp--preset--color--line); }
.kosheli-product-info > * + * { margin-block-start: 0.85rem; }
.kosheli-product-info .wp-block-post-title { margin-block-start: 0.35rem; }
.kosheli-product-info .wc-block-components-product-price,
.kosheli-product-info .price { font-weight: 650; }
.kosheli-product-info form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin: 1.25rem 0; }
.kosheli-product-info form.cart .cge-product { flex-basis: 100%; margin: 0; }
.kosheli-product-info form.cart .quantity input.qty { height: 100%; min-height: 48px; width: 4.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--small); text-align: center; font: inherit; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.kosheli-product-info form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; }
.kosheli-assure p { margin: 0; }
.kosheli-assure a { color: var(--wp--preset--color--accent); }
.wp-block-woocommerce-product-details .wc-tabs { border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-woocommerce-product-details .wc-tabs li a { text-decoration: none; }

/* Notices */
.wc-block-components-notice-banner { border-radius: var(--wp--custom--radius--small); }

/* Footer */
.kosheli-footer a { color: inherit; text-decoration: none; }
.kosheli-footer a:hover { text-decoration: underline; }
.kosheli-footer .wp-block-site-title a { color: var(--wp--preset--color--base); }
.kosheli-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem; }
.kosheli-footer-rule { border-color: rgba(255, 255, 255, .14) !important; background: rgba(255, 255, 255, .14); opacity: 1; }
.kosheli-footer-h { margin-bottom: 0.75rem; opacity: .75; }

@media (max-width: 781px) {
	.kosheli-header-tools { gap: 0.25rem !important; }
	.kosheli-topbar p { font-size: 0.75rem !important; }
	.kosheli-team { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.kosheli-cat img, .kosheli-grid .wc-block-components-product-image img { transition: none; }
}

/* Phones: logo left, tools and menu button right */
@media (max-width: 599px) {
	.kosheli-header .wp-block-navigation { order: 3; }
	.kosheli-header .kosheli-header-tools { order: 2; margin-left: auto; }
	.kosheli-header .alignwide { flex-wrap: nowrap !important; gap: 0.5rem !important; }
}

/* WooCommerce narrows the cart title; line it up with the cart */
main .wp-block-post-title.alignwide { max-width: var(--wp--style--global--wide-size) !important; margin-left: auto !important; margin-right: auto !important; }
