/* PP UI Fixes */

/* 1) #tbay-main-content.mm-slideout padding-top kaldır */
#tbay-main-content.mm-slideout { padding-top: 0 !important; }

/* 2) Sepete ekle ikonları — beyaz SVG alışveriş sepeti, theme glyph'leri suppress */
.add_to_cart_button .tb-icon-bag::before,
.add_to_cart_button::before,
.add_to_cart_button::after,
.single_add_to_cart_button::after,
.button.view-cart::after,
.button.checkout::after,
.wc-proceed-to-checkout .button::after,
.widget_shopping_cart_content .buttons .button::after {
    content: none !important;
}

.add_to_cart_button .tb-icon-bag,
.single_add_to_cart_button::before,
.button.view-cart::before,
.button.checkout::before,
.wc-proceed-to-checkout .button::before,
.widget_shopping_cart_content .buttons .button::before {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle !important;
    background-color: #fff !important;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12L8.1 13h7.45c.75 0 1.41-.41 1.75-1.03L21.7 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12L8.1 13h7.45c.75 0 1.41-.41 1.75-1.03L21.7 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/></svg>") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    margin-right: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    content: "" !important;
}
/* tb-icon-bag span'inin glyph'ini öldür — sadece mask-image gözüksün */
.add_to_cart_button .tb-icon-bag {
    color: transparent !important;
}

/* 3) Mini cart drawer butonları kocaman — daralt, tek satır */
.widget_shopping_cart_content .buttons,
.mini-cart .buttons,
p.woocommerce-mini-cart__buttons {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}
.widget_shopping_cart_content .buttons .button,
.mini-cart .buttons .button {
    padding: 10px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    height: auto !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    flex: 1 1 auto !important;
}

/* 4) Mega menü dropdown'larını grid + scroll yap */
.dropdown-menu.mega-menu .mega-menu-item,
.mega-menu-fullwidth .mega-menu-item,
ul.sub-menu,
.dropdown-menu.mega-menu ul {
    max-height: 70vh !important;
    overflow-y: auto !important;
}
.dropdown-menu.mega-menu .mega-menu-item > ul,
.dropdown-menu.mega-menu ul.sub-menu {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: 4px 14px !important;
    list-style: none !important;
    padding: 12px !important;
    margin: 0 !important;
}

/* 5) Wishlist (favoriler) ikonu boş yuvarlak — ❤ fallback */
.yith-wcwl-add-to-wishlist a {
    position: relative;
    display: inline-block !important;
    min-width: 16px;
    min-height: 16px;
}
.yith-wcwl-add-to-wishlist a:empty::before,
.yith-wcwl-add-to-wishlist .add_to_wishlist:empty::before {
    content: "\2665";
    font-size: 14px;
    color: #ed1c79;
    display: inline-block;
}

/* === 6) Ürün kartı kapsamlı yeniden tasarım (8 maddelik) === */
:root {
    --pp-brand-pink: #fc4ca5;
    --pp-brand-pink-dark: #e23f93;
    --pp-text-muted: #9ca3af;
    --pp-border: #e8e8e8;
}

/* 6.1) Eşit yükseklik + flex column + aksiyon block bottom */
ul.products,
.tbay-element-product .products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}
ul.products li.product,
.tbay-element-product .product,
.products .product {
    background: #fff !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 14px !important;
    padding: 14px 14px 18px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06) !important;
    transition: box-shadow .25s, transform .25s, border-color .25s !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    position: relative !important;
}
ul.products li.product:hover,
.tbay-element-product .product:hover,
.products .product:hover {
    box-shadow: 0 10px 28px rgba(0,0,0,0.10) !important;
    transform: translateY(-3px) !important;
    border-color: var(--pp-brand-pink) !important;
}

/* 6.2) Standart image aspect-ratio + cover */
ul.products li.product .product-image,
ul.products li.product .product-thumb,
.products .product .product-image {
    aspect-ratio: 3 / 4 !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    margin-bottom: 12px !important;
    background: #f7f7f7 !important;
}
ul.products li.product .product-image img,
.products .product .product-image img,
ul.products li.product img.image-no-effect {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}

/* 6.3) Başlık 2 satır clamp — kartların hizalanması için min-height rezerve */
ul.products li.product h3.name,
ul.products li.product .name,
.products .product h3.name,
.products .product .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.6em !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 6px 0 8px !important;
}

/* 6.4) Fiyat + buton bloğunu kartın altına sabitle */
ul.products li.product .price,
.products .product .price {
    margin-top: auto !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: var(--pp-brand-pink) !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
}

/* 6.5) [Kdv Dahil] suffix küçük + nötr */
ul.products li.product .price .woocommerce-price-suffix,
.products .price .woocommerce-price-suffix,
.price > small.woocommerce-price-suffix {
    font-size: 11px !important;
    color: var(--pp-text-muted) !important;
    font-weight: 400 !important;
    margin-left: 4px !important;
}

/* 6.6) Eski fiyat (del/strikethrough) küçük + muted */
ul.products li.product .price del,
.products .price del {
    color: var(--pp-text-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
}
ul.products li.product .price ins,
.products .price ins {
    text-decoration: none !important;
}

/* 6.7) Discount badge — sol üst pembe pill */
ul.products li.product .onsale,
.products .product .onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    background: var(--pp-brand-pink) !important;
    color: #fff !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    z-index: 5 !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
}
ul.products li.product .onsale .saled,
.onsale .saled { color: #fff !important; }
/* "İndirim" text fallback gizle — sadece -%X kalsın */
.onsale > *:not(.saled):not([class*="percent"]) { display: none !important; }

/* 6.8) Add-to-cart unify — TÜM kartlarda pembe full-width, yeşil/farklı renk override */
ul.products li.product .add_to_cart_button,
ul.products li.product .single_add_to_cart_button,
.products .add_to_cart_button,
.products .button.product_type_simple {
    background: var(--pp-brand-pink) !important;
    background-color: var(--pp-brand-pink) !important;
    color: #fff !important;
    width: 100% !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 999px !important;
    margin-top: 12px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    box-shadow: 0 2px 8px rgba(252,76,165,0.2) !important;
    transition: background .2s !important;
}
ul.products li.product .add_to_cart_button:hover,
.products .add_to_cart_button:hover {
    background: var(--pp-brand-pink-dark) !important;
}

/* 6.9) Add-to-cart içindeki sepet ikonu — mevcut SVG mask korunur (madde 2 CSS) */
ul.products li.product .add_to_cart_button .title-cart {
    color: #fff !important;
}

/* 6.10) Qty stepper — touch-target 40×40, dar border yerine belirgin */
.quantity .minus, .quantity .plus,
ul.products .quantity .minus,
ul.products .quantity .plus {
    min-width: 36px !important;
    min-height: 36px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    cursor: pointer !important;
}
.quantity input.qty {
    min-height: 36px !important;
    text-align: center !important;
}

/* 6.11) Size variant chip stili (varsa) */
.variations .variation-options,
.product-attribute-swatches {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    margin: 8px 0 !important;
}
.variations .variation-option,
.product-attribute-swatches > * {
    padding: 6px 14px !important;
    border-radius: 6px !important;
    background: #fce7f0 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: #333 !important;
    border: 1px solid transparent !important;
}
.variations .variation-option:hover,
.product-attribute-swatches > *:hover {
    background: #fbd0e3 !important;
}
.variations .variation-option.is-active,
.product-attribute-swatches > *.selected {
    background: var(--pp-brand-pink) !important;
    color: #fff !important;
}
/* Tek seçenekli variant block'u gizle */
.variations.single-variant,
.variations:has(.variation-option:only-child) {
    display: none !important;
}

/* 6.12) Carousel slide spacing + bordered active card outline (border yerine) */
.swiper-slide.swiper-slide-active ul.products li.product,
.products .product.active {
    outline: 2px solid var(--pp-brand-pink) !important;
    outline-offset: -2px !important;
    border-color: var(--pp-border) !important;
}

/* 6.13) Carousel arrow vertical center + visible */
.elementor-swiper-button,
.swiper-button-prev, .swiper-button-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: rgba(255,255,255,0.95) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
    color: var(--pp-brand-pink) !important;
}

/* 6.14) Floating WhatsApp icon clipping fix */
.elementor-element[class*="whatsapp"],
.tbay-whatsapp,
[class*="floating-whatsapp"],
a[href*="wa.me"][class*="float"],
img[src*="whatsapp"][class*="float"] {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 9999 !important;
}

/* === 7) Tbay grid-product-v1 spesifik fix paketi (kullanıcı detayl. markup) === */

/* 7.1) Quantity stepper görünür hale getir — boş gri kutu sorunu */
.products-grid .quantity .box,
ul.products .quantity .box,
.product-block .quantity .box {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    height: 40px !important;
    background: #fff !important;
}
.products-grid .quantity .box button.minus,
.products-grid .quantity .box button.plus,
ul.products .quantity .box button.minus,
ul.products .quantity .box button.plus,
.product-block .quantity .box button.minus,
.product-block .quantity .box button.plus {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border: none !important;
    cursor: pointer !important;
    color: #374151 !important;
    font-size: 14px !important;
    padding: 0 !important;
}
.products-grid .quantity .box button:hover,
ul.products .quantity .box button:hover,
.product-block .quantity .box button:hover {
    background: #fce7f0 !important;
}
.products-grid .quantity .box .tb-icon,
ul.products .quantity .box .tb-icon,
.product-block .quantity .box .tb-icon {
    display: inline-block !important;
    line-height: 1 !important;
}

/* tb-icon font yüklenmediği takdirde +/- text fallback */
.products-grid .quantity .box button.minus::after,
ul.products .quantity .box button.minus::after,
.product-block .quantity .box button.minus::after {
    content: "\2212"; /* − */
    font-size: 18px;
    font-weight: 600;
    color: #374151;
}
.products-grid .quantity .box button.plus::after,
ul.products .quantity .box button.plus::after,
.product-block .quantity .box button.plus::after {
    content: "+";
    font-size: 20px;
    font-weight: 600;
    color: #374151;
}
.products-grid .quantity .box button .tb-icon:not(:empty) + ::after,
.products-grid .quantity .box button:has(.tb-icon:not(:empty))::after {
    content: none;
}

.products-grid .quantity .box input.qty,
ul.products .quantity .box input.qty,
.product-block .quantity .box input.qty {
    width: 48px !important;
    height: 40px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #e5e7eb !important;
    border-right: 1px solid #e5e7eb !important;
    -moz-appearance: textfield !important;
    font-size: 14px !important;
    background: #fff !important;
    padding: 0 !important;
}
.products-grid .quantity .box input.qty::-webkit-outer-spin-button,
.products-grid .quantity .box input.qty::-webkit-inner-spin-button,
ul.products .quantity .box input.qty::-webkit-outer-spin-button,
ul.products .quantity .box input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* 7.2) quantity-group-btn: stepper ile pembe buton AYRI satırlarda */
.products-grid .quantity-group-btn,
ul.products .product .quantity-group-btn,
.product-block .quantity-group-btn {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
}
.products-grid .quantity-group-btn .quantity,
.product-block .quantity-group-btn .quantity {
    margin: 0 !important;
}
.products-grid .quantity-group-btn .add-cart,
.product-block .quantity-group-btn .add-cart {
    width: 100% !important;
}
.products-grid .quantity-group-btn .add-cart a.add_to_cart_button,
.product-block .quantity-group-btn .add-cart a.add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 16px !important;
    border-radius: 999px !important;
}

/* 7.3) "Sepete Ekle" yazısı (.title-cart) HER ZAMAN görünsün */
.products-grid .add-cart a.add_to_cart_button .title-cart,
ul.products .add-cart a.add_to_cart_button .title-cart,
.product-block .add-cart a.add_to_cart_button .title-cart {
    display: inline !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    text-indent: 0 !important;
}
.products-grid .add-cart a.add_to_cart_button .tb-icon-bag,
.product-block .add-cart a.add_to_cart_button .tb-icon-bag {
    font-size: 16px !important;
}

/* 7.4) figure.image 480x638 aspect ratio + cover */
.products-grid figure.image,
.product-block figure.image {
    margin: 0 !important;
}
.products-grid figure.image .product-image,
.product-block figure.image .product-image {
    display: block !important;
    aspect-ratio: 480 / 638 !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}
.products-grid figure.image img,
.product-block figure.image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

/* 7.5) Equal height + flex column .caption + order ile title→price→qty */
.products-grid .product-block.grid.product.v1,
.product-block.grid.product {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.products-grid .product-content,
.product-block .product-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex: 1 1 auto !important;
}
.products-grid .caption,
.product-block .caption {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 12px 4px 4px !important;
}
.products-grid .caption h3.name,
.product-block .caption h3.name {
    order: 1 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.6em !important;
    margin: 0 0 6px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}
.products-grid .caption .price,
.product-block .caption .price {
    order: 2 !important;
    margin: 0 0 10px !important;
}
.products-grid .caption .quantity-group-btn,
.product-block .caption .quantity-group-btn {
    order: 3 !important;
    margin-top: auto !important;
}
.products-grid .caption .group-content,
.product-block .caption .group-content {
    order: 4 !important;
}

/* 7.6) Price suffix [Kdv Dahil] muted, amount pink+bold */
.products-grid .price .woocommerce-price-suffix,
.product-block .price .woocommerce-price-suffix,
ul.products .price .woocommerce-price-suffix {
    font-size: 11px !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
    margin-left: 4px !important;
}
.products-grid .price .woocommerce-Price-amount,
.product-block .price .woocommerce-Price-amount,
ul.products .price .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--pp-brand-pink, #ec4899) !important;
}

/* 7.7) Mobile breakpoint (2-column grid) — buton/stepper stack korunsun */
@media (max-width: 768px) {
    .products-grid .quantity-group-btn,
    .product-block .quantity-group-btn {
        gap: 8px !important;
    }
    .products-grid .quantity .box,
    .product-block .quantity .box {
        height: 36px !important;
    }
    .products-grid .quantity .box button,
    .product-block .quantity .box button {
        width: 36px !important;
        height: 36px !important;
    }
    .products-grid .quantity .box input.qty,
    .product-block .quantity .box input.qty {
        width: 40px !important;
        height: 36px !important;
    }
    .products-grid .add-cart a.add_to_cart_button,
    .product-block .add-cart a.add_to_cart_button {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}

/* 7) Ana menü item'ları + footer h3'leri için PP icon class — JS prepend ile inject. */
.pp-menu-icon, .pp-section-icon {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
    background-color: currentColor !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    flex-shrink: 0 !important;
}
.pp-section-icon {
    width: 20px !important;
    height: 20px !important;
    color: #fc4ca5 !important;
}
.elementor-nav-menu.flex-row > li.menu-item > a.elementor-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* 8) Çıkan Paketler & generic Elementor carousel image güzelleştirme */
.elementor-image-carousel .elementor-carousel-image,
.elementor-image-carousel-wrapper .swiper-slide {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}
.elementor-image-carousel .swiper-slide:hover {
    transform: translateY(-2px) !important;
}
.elementor-swiper-button {
    background: rgba(255,255,255,0.95) !important;
    border-radius: 50% !important;
    width: 38px !important;
    height: 38px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12) !important;
}

/* 9) Footer altta — Kategoriler/Kurumsal/Bilgilendirme/Hesabım block layout iyileştir */
.elementor-widget-container > h3.elementor-heading-title {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}


/* === 8) 9-madde patch: tb-icon fallback + card overflow + hover position === */

/* 8.1) tb-icon-minus / tb-icon-plus <i> elemanlarını buton içinde GIZLE,
   sadece ::after fallback ("−" / "+") gözüksün — boş gri kutu çözümü */
.products-grid .quantity .box button.minus > i.tb-icon,
.products-grid .quantity .box button.plus > i.tb-icon,
ul.products .quantity .box button.minus > i.tb-icon,
ul.products .quantity .box button.plus > i.tb-icon,
.product-block .quantity .box button.minus > i.tb-icon,
.product-block .quantity .box button.plus > i.tb-icon {
    display: none !important;
}
.products-grid .quantity .box button.minus,
.products-grid .quantity .box button.plus,
ul.products .quantity .box button.minus,
ul.products .quantity .box button.plus {
    font-family: Arial, sans-serif !important;
}

/* 8.2) Card overflow:hidden → visible (buton ve quick-view kesilmesin) */
ul.products li.product,
.products .product,
.tbay-element-product .product,
.product-block.grid.product.v1 {
    overflow: visible !important;
}
/* iç image wrapper'ı overflow korusun ki resim radius'a uysun */
ul.products li.product .product-image,
.products .product .product-image,
.product-block figure.image .product-image {
    overflow: hidden !important;
    border-radius: 10px !important;
}

/* 8.3) SEPETE EKLE butonu kart alt kenarından taşmasın — kart padding-bottom artır */
ul.products li.product,
.products .product,
.product-block.grid.product.v1 {
    padding-bottom: 16px !important;
}

/* 8.4) Wishlist linki — tb-icon-heart fallback (font yüklenmediği takdirde "♥") */
.yith-wcwl-add-to-wishlist a,
.add_to_wishlist {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    min-height: 32px !important;
    text-decoration: none !important;
}
.yith-wcwl-add-to-wishlist a > i.tb-icon,
.add_to_wishlist > i.tb-icon {
    display: none !important;
}
.yith-wcwl-add-to-wishlist a::after,
.add_to_wishlist::after {
    content: "\2665";
    font-family: Arial, sans-serif;
    font-size: 16px;
    color: #ed1c79;
    line-height: 1;
}
.yith-wcwl-add-to-wishlist a:hover::after,
.add_to_wishlist:hover::after {
    color: #b00060;
}

/* 8.5) Quick-view (büyüteç) + wishlist butonları — ürün resmi üst sağ köşe */
.products .product .product-action-vertical,
.products .product .product-buttons,
.product-block .actions,
.product-block .product-buttons {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.products .product .qview-button,
.products .product .yith-wcwl-add-to-wishlist a,
.product-block .qview-button {
    width: 32px !important;
    height: 32px !important;
    background: #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 8.6) Wishlist tooltip taşıyor → daha dar + position fix */
.yith-wcwl-add-to-wishlist .yith-wcwl-tooltip,
.add_to_wishlist + .tooltip,
.products .product [title]:hover::before {
    display: none !important;
}

/* 8.7) Carousel ileri/geri okları daha belirgin */
.swiper-button-prev,
.swiper-button-next,
.elementor-swiper-button-prev,
.elementor-swiper-button-next,
.elementor-swiper-button {
    background: #fff !important;
    color: var(--pp-brand-pink, #fc4ca5) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
    opacity: 1 !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: var(--pp-brand-pink, #fc4ca5) !important;
    color: #fff !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
    font-weight: 700 !important;
    font-size: 18px !important;
}

/* 8.8) Stepper ile add-cart butonu arası net boşluk + hizalama */
.products-grid .caption .quantity-group-btn,
.product-block .caption .quantity-group-btn {
    gap: 12px !important;
    margin-top: auto !important;
    margin-bottom: 4px !important;
}
.products-grid .quantity-group-btn .quantity,
.product-block .quantity-group-btn .quantity {
    align-self: center !important;
}

/* 8.9) tb-icon-bag (sepet) — mevcut SVG mask zaten 7. bloğunda; bu, .add-cart içindeki
   <i> öğesinin font-size 0 olması nedeniyle layout shift yapmasın diye fallback */
.products-grid .add-cart a.add_to_cart_button > i.tb-icon-bag,
.product-block .add-cart a.add_to_cart_button > i.tb-icon-bag {
    flex-shrink: 0 !important;
}

/* === 9) Header menü wrap + util ikon fix === */

/* 9.1) Ana menü wrap'i engelle — İletişim alt satıra düşmesin */
.elementor-nav-menu.flex-row {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}
.elementor-nav-menu.flex-row > li.menu-item {
    flex-shrink: 0 !important;
}
.elementor-nav-menu.flex-row > li.menu-item > a.elementor-item {
    white-space: nowrap !important;
}

/* 9.2) Daha sıkı gap (ikonlu menü için yer kazanmak) */
.elementor-nav-menu.flex-row {
    column-gap: 14px !important;
    row-gap: 0 !important;
}

/* 9.3) pp-util-icon (Görüntülenenler, Sipariş Takibi, Tüm Kategoriler) — boş kare ikonların yerine */
.pp-util-icon {
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
}

/* 9.4) Theme'in eski boş tb-icon-justifyleft / tb-icon-shopping-cart / tb-icon-history vb. — JS gizliyor ama CSS de defansif */
.toggle-menu-title a > i.tb-icon-justifyleft,
.tbay-element a > i.tb-icon-shopping-cart,
header a > i.tb-icon-history {
    display: none !important;
}

/* 9.5) Header utility area wrap engelle */
.tbay-element-nav,
.header-utility,
.list-menu-icon {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

/* === 9.6) Dar viewport'larda ana menü-utility overlap önle === */
@media (max-width: 1399px) {
    .elementor-nav-menu.flex-row {
        column-gap: 8px !important;
        font-size: 13px !important;
    }
    .pp-menu-icon {
        margin-right: 4px !important;
        width: 14px !important;
        height: 14px !important;
    }
}
@media (max-width: 1199px) {
    .elementor-nav-menu.flex-row > li.menu-item > a.elementor-item {
        padding: 0 6px !important;
    }
}

/* === 9.7) Util area (Görüntülenenler, Sipariş Takibi) — düzgün boşluk === */
.tbay-element-nav-menu .list-menu-icon,
.list-menu-icon {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-left: auto !important;
}

/* === 9.8) WhatsApp click-to-chat alttaki kayan ikon — kart üstüne binmesin === */
.click-to-chat,
.ctc_div,
[id*="click-to-chat"] {
    z-index: 9990 !important;
}

/* === 9.9) Toparlama: ana menü-util arası net boşluk + Sipariş Takibi wrap önle === */

/* Ana menü font-size küçük (item'lar yer kazanır) */
.elementor-nav-menu.flex-row > li.menu-item > a.elementor-item {
    font-size: 13px !important;
    padding: 0 8px !important;
}

/* Util area font + gap toparla */
.list-menu-icon,
.tbay-element-nav-menu .list-menu-icon {
    gap: 18px !important;
    margin-left: 24px !important;
    font-size: 13px !important;
    flex-wrap: nowrap !important;
}
.list-menu-icon > a,
.list-menu-icon > li,
.list-menu-icon > div {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

/* pp-menu-icon ve pp-util-icon — boyut tutarlı + nefes alma */
.pp-menu-icon { width: 15px !important; height: 15px !important; margin-right: 5px !important; }
.pp-util-icon { width: 15px !important; height: 15px !important; margin-right: 5px !important; }

/* Header container — toplam wrap engelle */
header .elementor-row,
header .elementor-container,
.tbay-header-container,
.tbay-element-header > .elementor-container {
    flex-wrap: nowrap !important;
}

/* Geniş viewport'larda nefes (>1600px) — daha rahat */
@media (min-width: 1600px) {
    .elementor-nav-menu.flex-row { column-gap: 18px !important; font-size: 14px !important; }
    .list-menu-icon { gap: 22px !important; }
}

/* Çok dar viewport'larda (<1100px) util area label gizle, sadece ikon */
@media (max-width: 1099px) {
    .list-menu-icon a span:not(.pp-util-icon):not(.pp-menu-icon) {
        display: none !important;
    }
    .list-menu-icon a {
        padding: 6px !important;
    }
    .pp-util-icon { margin-right: 0 !important; width: 18px !important; height: 18px !important; }
}

/* === 10) Agresif specificity: stepper-buton ROW yerine COLUMN zorla === */
/* Theme rule'larını yenmek için çoklu attribute selector + body önek */

body ul.products li.product .caption .quantity-group-btn,
body .products-grid .caption .quantity-group-btn,
body .product-block.grid.product.v1 .caption .quantity-group-btn,
body .tbay-element-product .caption .quantity-group-btn {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
}

body ul.products li.product .quantity-group-btn .quantity,
body .products-grid .quantity-group-btn .quantity,
body .product-block .quantity-group-btn .quantity {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

body ul.products li.product .quantity-group-btn .quantity .box,
body .products-grid .quantity-group-btn .quantity .box,
body .product-block .quantity-group-btn .quantity .box {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 auto !important;
    height: 36px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
    width: auto !important;
    max-width: 100% !important;
}

body ul.products li.product .quantity-group-btn .quantity .box button,
body .products-grid .quantity-group-btn .quantity .box button,
body .product-block .quantity-group-btn .quantity .box button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    background: #fff !important;
    border: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-family: Arial, sans-serif !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

/* tb-icon child'ı tamamen kapat, sadece ::after fallback */
body ul.products li.product .quantity-group-btn .quantity .box button > *,
body .products-grid .quantity-group-btn .quantity .box button > * {
    display: none !important;
}

body ul.products li.product .quantity-group-btn .quantity .box button.minus::after,
body .products-grid .quantity-group-btn .quantity .box button.minus::after {
    content: "\2212" !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #374151 !important;
    font-family: Arial, sans-serif !important;
    line-height: 1 !important;
}
body ul.products li.product .quantity-group-btn .quantity .box button.plus::after,
body .products-grid .quantity-group-btn .quantity .box button.plus::after {
    content: "+" !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #374151 !important;
    font-family: Arial, sans-serif !important;
    line-height: 1 !important;
}

body ul.products li.product .quantity-group-btn .quantity .box input.qty,
body .products-grid .quantity-group-btn .quantity .box input.qty {
    width: 40px !important;
    height: 36px !important;
    text-align: center !important;
    border: 0 !important;
    border-left: 1px solid #e5e7eb !important;
    border-right: 1px solid #e5e7eb !important;
    font-size: 14px !important;
    background: #fff !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

body ul.products li.product .quantity-group-btn .add-cart,
body .products-grid .quantity-group-btn .add-cart,
body .product-block .quantity-group-btn .add-cart {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
}

body ul.products li.product .quantity-group-btn .add-cart a.add_to_cart_button,
body .products-grid .quantity-group-btn .add-cart a.add_to_cart_button,
body .product-block .quantity-group-btn .add-cart a.add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 11px 10px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

body ul.products li.product .add-cart a.add_to_cart_button .title-cart,
body .products-grid .add-cart a.add_to_cart_button .title-cart,
body .product-block .add-cart a.add_to_cart_button .title-cart {
    white-space: nowrap !important;
    display: inline !important;
    overflow: visible !important;
}

/* === 11) Buton kart sınırından taşmasın — generous bottom padding === */
body ul.products li.product,
body .products .product,
body .products-grid .product-block,
body .product-block.grid.product.v1 {
    padding-bottom: 20px !important;
}
body ul.products li.product .product-content,
body .products-grid .product-content {
    padding-bottom: 4px !important;
}
body ul.products li.product .caption,
body .products-grid .caption {
    padding-bottom: 0 !important;
}

/* === 12) Add-cart SVG mask icon küçült (yer ver butona) === */
body ul.products li.product .add_to_cart_button .tb-icon-bag,
body .products-grid .add_to_cart_button .tb-icon-bag {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

/* === 13) İndirimdekiler — variable + simple unify === */

/* 13.1) WPVS pill swatches + heavy table label gizle, sadece native select kalsın */
.products-grid .vi-wpvs-variation-wrap,
.products-grid .vi-wpvs-option-wrap,
.products-grid table.variations .vi_variation_attr_name,
.products-grid table.variations td.vi_variation_container:first-child,
.products .product .vi-wpvs-variation-wrap,
.products .product .vi-wpvs-option-wrap,
.products .product table.variations .label,
ul.products li.product .vi-wpvs-option-wrap {
    display: none !important;
}

/* table.variations'ı blok layout'a çevir */
.products-grid table.variations,
.products-grid table.variations tbody,
.products-grid table.variations tr,
.products-grid table.variations td,
.products .product table.variations,
.products .product table.variations tbody,
.products .product table.variations tr,
.products .product table.variations td {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    background: transparent !important;
}

/* Native select compact dropdown stilize */
.products-grid .vi-wpvs-select-attribute select,
.products-grid select[name^="attribute_pa_"],
.products .product .vi-wpvs-select-attribute select,
.products .product table.variations select,
ul.products li.product select[name^="attribute_"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 40px !important;
    padding: 0 36px 0 14px !important;
    margin: 0 0 10px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    font-size: 14px !important;
    color: #374151 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ec4899' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.products-grid select[name^="attribute_"]:focus,
.products .product select[name^="attribute_"]:focus {
    outline: none !important;
    border-color: #ec4899 !important;
    box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.1) !important;
}

/* Reset variation row spacing */
.products .product .variations_form {
    margin: 0 0 8px !important;
}

/* 13.2) ATC button unify — simple link + WPVS button aynı pembe pill */
body .products-grid .add-cart .button,
body .products-grid .add-cart a.add_to_cart_button,
body .products-grid button.vi_wpvs_loop_atc_button,
body .products .product .add-cart .button,
body .products .product a.add_to_cart_button,
body .products .product button.vi_wpvs_loop_atc_button,
body ul.products li.product .vi_wpvs_loop_atc_button {
    background: #ec4899 !important;
    background-color: #ec4899 !important;
    color: #fff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body .products-grid .add-cart .button:hover,
body .products-grid a.add_to_cart_button:hover,
body button.vi_wpvs_loop_atc_button:hover {
    background: #db2777 !important;
}
body button.vi_wpvs_loop_atc_button .vi_wpvs_loop_atc_loader {
    color: #fff !important;
}

/* 13.3) Discount badge unify (.onsale .saled) — placement + pink pill */
.products-grid .onsale,
.products .product .onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    background: #ec4899 !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 4px 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    z-index: 5 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
}
.products-grid .onsale .saled,
.products .product .onsale .saled {
    color: #fff !important;
}

/* 13.4) Variable product card — equal height korunsun */
ul.products li.product.product-type-variable,
.products .product.product-type-variable {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
