/*
Theme Name: Naturya Child
Theme URI: https://naturya.novaworks.net
Description: Site-specific visual and WooCommerce template overrides for Naturya.
Author: Novaworks
Author URI: https://www.novaworks.net/
Template: naturya
Version: 1.0.5
Text Domain: naturya-child
*/

/* Child-specific visual compatibility fixes live below. */

/* Preserve the parent sidebar-toggle appearance after using a native button. */
button.nova-sidebar__toggle {
	appearance: none;
	padding: 0;
	cursor: pointer;
}

button.nova-sidebar__toggle:focus-visible {
	outline: 2px solid var(--site-accent-color);
	outline-offset: 2px;
}

/*
 * The variation-gallery plugin defaults its desktop gallery to 30% width.
 * Naturya renders it inside an Elementor product-image column, so that
 * generic width leaves most of the image column blank. Keep the gallery
 * constrained to its own column, but let it occupy that column fully.
 */
.single-product .kitify-product-images .woo-variation-product-gallery {
	max-width: 100% !important;
}

/*
 * The gallery plugin floats its output through Elementor's tablet breakpoint.
 * Clear that float on the widget frame so its border encloses the gallery.
 */
@media (max-width: 1024px) {
	.single-product .elementor-756 .elementor-element.elementor-element-53863a1d > .elementor-widget-container::after {
		content: "";
		display: block;
		clear: both;
	}
}

/*
 * Kitify's breadcrumb stylesheet is loaded after the document body. Without
 * these matching base rules, the breadcrumb's div items first stack and then
 * collapse into one line once that stylesheet arrives. Reserve its final
 * inline layout from the first paint; the mobile truncation rules below still
 * take precedence on narrow screens.
 */
body.sudie-route-product .kitify-breadcrumbs__content {
	font-size: 0;
}

body.sudie-route-product .kitify-breadcrumbs__wrap {
	display: inline;
}

body.sudie-route-product .kitify-breadcrumbs__browse,
body.sudie-route-product .kitify-breadcrumbs__item,
body.sudie-route-product .kitify-breadcrumbs__item-link,
body.sudie-route-product .kitify-breadcrumbs__item-target {
	display: inline-block;
}

body.sudie-route-product .kitify-breadcrumbs__browse,
body.sudie-route-product .kitify-breadcrumbs__item {
	font-size: 14px;
	vertical-align: middle;
}

body.sudie-route-product .kitify-breadcrumbs__item-sep {
	margin-inline: 5px;
	font-size: 0.6em;
}

/*
 * Woo Blocks styles for the empty-cart recommendations arrive after the
 * child stylesheet. Mirror only their layout-critical rules here so product
 * images retain their final grid space while those assets finish loading.
 */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	background-clip: padding-box;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -8px 16px;
	padding: 0;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	border: solid transparent;
	border-width: 0 8px 16px;
	box-sizing: border-box;
	flex: 1 0 25%;
	list-style: none;
	margin: 0;
	max-width: 25%;
	padding: 0;
	position: relative;
	text-align: center;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	display: inline-block;
	margin: 0 0 12px;
	position: relative;
}

/*
 * The block stylesheet normally establishes this product-link width late in
 * the document. Reserving the final inline-box width here prevents each
 * recommended-product image from growing after it has painted.
 */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
	display: inline-block;
	max-width: 100%;
	position: relative;
	width: 100%;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	height: auto;
	max-width: 100%;
	width: 100%;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	display: block;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 12px;
	padding: 0;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	display: block;
	margin: 0 auto 12px;
}

/* Match Woo Blocks' four-column typography before its deferred stylesheet. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product {
	font-size: 0.75em;
}

/*
 * The empty-cart icon is added by Woo Blocks' late cart stylesheet. Reserve
 * its final dimensions immediately so the recommendation grid does not shift
 * down when that stylesheet arrives; Woo Blocks still paints the same icon.
 */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-size: inherit;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: "";
	display: block;
	height: 5em;
	margin: 0 auto 2em;
	width: 5em;
}

/*
 * Woo Blocks ships both cart states in its server markup and removes the
 * unused one after hydration. The request-specific body class is added only
 * for an actually empty cart, so the empty state starts in its final place.
 */
body.sudie-cart-is-empty .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-filled-cart-block {
	display: none;
}

body.sudie-cart-is-empty .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-empty-cart-block {
	display: block;
}

/*
 * Woo Blocks briefly replaces the server-rendered empty state while React
 * hydrates it. Reserve the already-known final cart height only during that
 * one-frame replacement; the visible, hydrated layout remains untouched.
 */
@supports selector(.wp-block-woocommerce-cart:has(*)) {
	html:has(body.woocommerce-cart) {
		overflow-y: scroll;
	}

	body.sudie-cart-is-empty .wp-block-woocommerce-cart:not(:has(.wp-block-woocommerce-empty-cart-block)) {
		min-height: max(620px, calc(36.78vw + 254.3px));
	}

	@media (max-width: 480px) {
		body.sudie-cart-is-empty .wp-block-woocommerce-cart:not(:has(.wp-block-woocommerce-empty-cart-block)) {
			min-height: calc(456.041667vw + 337.0625px);
		}
	}
}

@media (max-width: 480px) {
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products {
		display: block;
	}

	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product {
		flex: 1 0 100%;
		margin-inline: auto;
		max-width: 100%;
		padding: 0;
	}
}

/*
 * Keep the catalogue and header within narrow viewports without changing the
 * underlying colour-card, filter, wishlist or mobile-menu markup.
 */
@media (max-width: 767px) {
	/*
	 * Product titles can briefly use a wider fallback font before Plus Jakarta
	 * Sans loads. Keep the breadcrumb to one reserved line so the gallery does
	 * not jump upward when that font swap completes.
	 */
	body.sudie-route-product .kitify-breadcrumbs__content {
		min-width: 0;
		overflow: hidden;
	}

	body.sudie-route-product .kitify-breadcrumbs__wrap {
		display: flex;
		align-items: center;
		min-width: 0;
		white-space: nowrap;
	}

	body.sudie-route-product .kitify-breadcrumbs__item {
		flex: 0 0 auto;
	}

	body.sudie-route-product .kitify-breadcrumbs__item:last-child {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
	}

	body.sudie-route-product .kitify-breadcrumbs__item-target {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.sudie-route-catalog .kitify-products__list_wrapper > ul.products:not(.product-list-display) {
		width: 100% !important;
		margin-inline: 0 !important;
	}

	body.sudie-route-catalog .kitify-products__list_wrapper > ul.products:not(.product-list-display) > li.product {
		box-sizing: border-box !important;
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50% !important;
		min-width: 0 !important;
	}

	.elementor-location-header .elementor-element-53b74a8b {
		padding-inline: 16px !important;
	}

	.elementor-location-header .elementor-element-53b74a8b > .e-con-inner {
		justify-content: normal !important;
		column-gap: 8px !important;
		min-width: 0 !important;
	}

	.elementor-location-header .elementor-element-67de8603 {
		order: 2 !important;
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		justify-content: center !important;
	}

	.elementor-location-header .elementor-element-67de8603 .kitify-logo {
		display: flex !important;
		justify-content: center !important;
	}

	.elementor-location-header .elementor-element-67de8603 .kitify-logo__link {
		display: inline-flex !important;
		max-width: 100% !important;
	}

	.elementor-location-header .elementor-element-67de8603 .kitify-logo__img {
		width: 90px !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.elementor-location-header .elementor-element-7186cbe7 {
		order: 1 !important;
		flex: 0 0 24px !important;
		width: 24px !important;
		min-width: 24px !important;
		margin: 0 !important;
	}

	.elementor-location-header .elementor-element-43318cac {
		order: 3 !important;
		display: flex !important;
		flex: 0 0 auto !important;
		flex-flow: row nowrap !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 4px !important;
	}

	.elementor-location-header .elementor-element-43318cac > .elementor-element {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.elementor-location-header .elementor-element-43318cac .kitify-nova-cart {
		box-sizing: content-box !important;
		padding: 0 6px 0 0 !important;
	}
}

/* Shared brand-interaction rules, formerly injected by an MU plugin. */
:root {
	--site-main-menu-accent-color: var(--site-accent-color) !important;
}

body.sudie-route-catalog .kitify-breadcrumbs__item-link:hover,
body.sudie-route-catalog .kitify-breadcrumbs__item-link:focus-visible,
body.sudie-route-product .kitify-breadcrumbs__item-link:hover,
body.sudie-route-product .kitify-breadcrumbs__item-link:focus-visible {
	color: var(--site-accent-color) !important;
}

body.sudie-route-catalog ul.products li.product .product-item__description--info .info-left > a:hover,
body.sudie-route-catalog ul.products li.product .product-item__description--info .info-left > a:focus-visible,
body.sudie-route-catalog ul.products li.product .product-item__title a:hover,
body.sudie-route-catalog ul.products li.product .product-item__title a:focus-visible {
	color: var(--site-accent-color) !important;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li > a {
	color: var(--site-heading-color) !important;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li.is-active > a,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li > a:hover,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li > a:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):focus-visible {
	color: var(--site-accent-color) !important;
}

.elementor-511 .elementor-element.elementor-element-6d970be4 .elementor-icon-list-item:hover > a .elementor-icon-list-text,
.elementor-511 .elementor-element.elementor-element-6d970be4 .elementor-icon-list-item > a:hover .elementor-icon-list-text,
.elementor-511 .elementor-element.elementor-element-6d970be4 .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text,
.sudie-fallback-footer a:hover,
.sudie-fallback-footer a:focus-visible {
	color: var(--site-accent-color) !important;
}

/* Keep the desktop Elementor logo inside its assigned slot. */
@media (min-width: 1025px) {
	.elementor-location-header .kitify-logo .kitify-logo__img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 65px;
		object-fit: contain;
	}
}

/*
 * Consolidated child-theme presentation rules.
 *
 * This block previously lived in assets/css/sudie-site.css and was loaded
 * immediately after this stylesheet. Keeping it here preserves that cascade
 * order while making the child theme's visual layer one cacheable resource.
 */

@media (min-width: 1025px) {
  .elementor-40 .elementor-element.elementor-element-53b74a8b {
    --padding-left: clamp(28px, 2vw, 56px) !important;
    --padding-right: clamp(28px, 2vw, 56px) !important;
  }

  .elementor-40 .elementor-element.elementor-element-53b74a8b > .e-con-inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    column-gap: 12px !important;
  }

  .elementor-40 .elementor-element.elementor-element-67de8603,
  .elementor-40 .elementor-element.elementor-element-43318cac {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
  }

  .elementor-40 .elementor-element.elementor-element-7186cbe7 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
  }

  .elementor-40 .elementor-element.elementor-element-56a5a03a .kitify-logo__link {
    width: clamp(112px, 7vw, 126px) !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f,
  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu,
  .elementor-40 .elementor-element.elementor-element-660a850f .main-navigation {
    width: 100%;
    min-width: 0;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .main-navigation .nav-menu,
  .elementor-40 .elementor-element.elementor-element-660a850f .main-navigation > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li {
    flex: 0 0 auto;
    height: 100px;
    padding: 0 5px !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li > a {
    white-space: nowrap;
    font-size: 13px !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .main-navigation a i.kitify-nav-arrow {
    margin-left: 5px !important;
  }

  .elementor-40 .elementor-element.elementor-element-43318cac {
    --gap: 12px 12px !important;
    --row-gap: 12px !important;
    --column-gap: 12px !important;
  }
}

@media (min-width: 1280px) {
  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li {
    padding: 0 6px !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li > a {
    font-size: 13px !important;
  }
}

.sudie-fallback-footer {
  background: #1f2a27;
  color: #f5f7f6;
}

.sudie-fallback-footer a {
  color: #e3e7e5;
}

.sudie-fallback-footer a:hover {
  color: #a79d80;
}

.sudie-fallback-footer__top {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 32px;
  padding: 72px 100px;
}

.sudie-fallback-footer__brand,
.sudie-fallback-footer__column {
  min-width: 0;
}

.sudie-fallback-footer__logo {
  margin-bottom: 20px;
}

.sudie-fallback-footer__logo .custom-logo {
  width: 126px;
  height: auto;
}

.sudie-fallback-footer__logo-text {
  display: inline-block;
  color: #fff;
  font-size: 54px;
  font-weight: 500;
  line-height: 0.85;
}

.sudie-fallback-footer__column h3 {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 18px;
}

.sudie-fallback-footer__column ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sudie-fallback-footer__column li + li {
  margin-top: 10px;
}

.sudie-fallback-footer__bottom {
  border-top: 1px solid #006039;
  padding: 18px 100px;
}

.sudie-fallback-footer__bottom p,
.sudie-fallback-footer__brand p,
.sudie-fallback-footer__column p {
  margin: 0;
}

.sudie-fallback-footer__brand p + p,
.sudie-fallback-footer__column p + p {
  margin-top: 10px;
}

@media (max-width: 1279px) {
  .sudie-fallback-footer__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 56px 60px;
  }

  .sudie-fallback-footer__bottom {
    padding: 18px 60px;
  }
}

@media (max-width: 767px) {
  .sudie-fallback-footer__top {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 40px 25px;
  }

  .sudie-fallback-footer__bottom {
    padding: 16px 25px;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .elementor-40 .elementor-element.elementor-element-53b74a8b {
    --min-height: 70px !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li {
    padding: 0 3px !important;
  }

  .elementor-40 .elementor-element.elementor-element-660a850f .kitify-nova-menu .main-navigation .nav-menu > li > a {
    font-size: 12px !important;
  }

  .elementor-40 .elementor-element.elementor-element-43318cac {
    --gap: 10px 10px !important;
    --row-gap: 10px !important;
    --column-gap: 10px !important;
  }
}

.woocommerce-shop .elementor-widget.custom-carousel-preset-default,
.tax-product_cat .elementor-widget.custom-carousel-preset-default,
.tax-product_tag .elementor-widget.custom-carousel-preset-default {
  width: 100% !important;
}

.woocommerce-shop .kitify-products__list_wrapper,
.tax-product_cat .kitify-products__list_wrapper,
.tax-product_tag .kitify-products__list_wrapper {
  width: 100% !important;
}

.woocommerce-shop ul.products li.product .product-item__thumbnail-placeholder,
.tax-product_cat ul.products li.product .product-item__thumbnail-placeholder,
.tax-product_tag ul.products li.product .product-item__thumbnail-placeholder {
  aspect-ratio: 7 / 8 !important;
  overflow: hidden !important;
}

.woocommerce-shop ul.products li.product .product-item__thumbnail-placeholder > a,
.tax-product_cat ul.products li.product .product-item__thumbnail-placeholder > a,
.tax-product_tag ul.products li.product .product-item__thumbnail-placeholder > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  width: 100% !important;
  height: 100% !important;
}

.woocommerce-shop ul.products li.product .product-item__thumbnail-placeholder img.attachment-woocommerce_thumbnail,
.tax-product_cat ul.products li.product .product-item__thumbnail-placeholder img.attachment-woocommerce_thumbnail,
.tax-product_tag ul.products li.product .product-item__thumbnail-placeholder img.attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.woocommerce-shop ul.products li.product .product-item__thumbnail-placeholder .product_second_image,
.tax-product_cat ul.products li.product .product-item__thumbnail-placeholder .product_second_image,
.tax-product_tag ul.products li.product .product-item__thumbnail-placeholder .product_second_image {
  inset: 0;
  z-index: 1;
  background-position: center;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] {
  gap: 8px;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item {
  width: 60px;
  height: 76px;
  margin: 0;
  padding: 3px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 0 0 1px #d7d7d7;
  background-color: #fff;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item:focus,
.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item:hover {
  box-shadow: 0 0 0 2px rgba(0, 96, 57, 0.28);
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item.selected,
.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item.selected:hover {
  box-shadow: 0 0 0 2px #111;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item .variable-item-contents:before {
  display: none;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] .variable-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 7px;
}

.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] + .woo-selected-variation-item-name,
.single-product .variations_form .variable-items-wrapper.image-variable-items-wrapper[data-attribute_name="attribute_pa_renk"] ~ .woo-selected-variation-item-name {
  display: inline-block;
  margin-top: 8px;
}

.elementor-location-footer .elementor-icon-list-items,
.elementor-location-footer ul.elementor-icon-list-items,
.elementor-location-footer .elementor-icon-list-item {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.elementor-location-footer .elementor-icon-list-item::marker {
  content: "" !important;
}

/*
 * The compact shop toolbar keeps its two-column mobile layout at 360 px.
 * Reduce only the select's inner padding at that narrow breakpoint so the
 * localized default sort label remains legible without changing grid widths.
 */
@media (max-width: 374px) {
  body.sudie-route-catalog form.woocommerce-ordering select.orderby {
    padding-inline: 10px !important;
  }
}
