/* TWB Site Düzenlemeleri */

/* 1) Tek font: başlıklar da header menüsündeki fontu (Poppins / "Theme default") kullansın */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-slides .swiper-slide-contents,
.elementor-slides .elementor-slide-heading {
    font-family: "Theme default", sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .elementor-heading-title { font-weight: 500; }

/* 2) İmleç dairesi (tema ayarı kapalı, yine de görünmesin) */
.cursor-follower { display: none !important; }

/* 3) Karşılaştırma ve paylaşım kalıntıları */
.compare-toggle, .product-compare, .compare-btn, .product .compare,
.single-product .post-social-share, .single-product .social-share { display: none !important; }

/* 4) Anasayfa yorumlar: kartlar eşit boyda, alan altta-üstte eşit boşluklu */
.e-con:has(> .e-con-inner .elementor-widget-et_testimonials),
.e-con:has(> .swiper-container .elementor-widget-et_testimonials) {
    --padding-top: 48px !important;
    --padding-bottom: 48px !important;
}
.e-con:has(.elementor-widget-et_testimonials) .swiper-container { margin-bottom: 0 !important; } /* tema 24 px alt boşluk ekliyor */
.e-con:has(.elementor-widget-et_testimonials) .swiper-wrapper { align-items: stretch; }
.e-con:has(.elementor-widget-et_testimonials) .swiper-slide { height: auto !important; display: flex; }
.e-con:has(.elementor-widget-et_testimonials) .swiper-slide > .elementor-widget-et_testimonials,
.elementor-widget-et_testimonials .elementor-widget-container,
.elementor-widget-et_testimonials .testimonials-item { height: 100%; width: 100%; }
.elementor-widget-et_testimonials .testimonials-item { display: flex; flex-direction: column; box-sizing: border-box; }
.elementor-widget-et_testimonials .testimonials-item .testimonial-content,
.elementor-widget-et_testimonials .testimonials-item > :first-child { flex: 1 1 auto; }
@media (max-width: 767px) {
    .e-con:has(> .e-con-inner .elementor-widget-et_testimonials),
    .e-con:has(> .swiper-container .elementor-widget-et_testimonials) { --padding-top: 28px !important; --padding-bottom: 28px !important; }
}

/* 5) Mağaza: sıralama kutu içinde, ok yazının hemen yanında */
.woocommerce-ordering { width: auto !important; }
.woocommerce-ordering select,
.woocommerce-ordering select.orderby {
    width: auto !important;
    min-width: 210px;
    height: 40px !important;
    padding: 0 40px 0 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 0;
    background-color: #fff;
    background-position: right 14px center !important;
    cursor: pointer;
    transition: border-color .15s;
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus { border-color: #111 !important; outline: none; }

/* 6) Ürün sayfası: istek listesi → çizgi → Önceki/Sonraki → Detay Özellikler arası boşluk daralsın */
.single-product .product-layout-single .single-product-wrapper .summary { margin-bottom: 0 !important; }
.single-product .product-layout-single .before-description-wrap { margin-top: 24px !important; padding-top: 12px !important; }
.single-product .product-layout-single .post-single-navigation { margin-top: 0 !important; }
.single-product .twb-product-sections > .twb-sec:first-child { margin-top: 8px !important; }
@media (max-width: 767px) {
    .single-product .product-layout-single .before-description-wrap { margin-top: 16px !important; }
}

/* 7) Ürün galerisi: noktaya dönüşmüş küçük resimler → ana görselin altında gerçek thumbnail şeridi */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    display: flex !important; flex-wrap: nowrap; gap: 10px; justify-content: safe center;
    margin: 16px 0 0 !important; padding: 0 0 4px !important; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #d6d6d6 transparent;
    grid-template-columns: none !important;
}
.woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 88px !important; width: 88px !important; height: 88px; margin: 0 !important; padding: 0 !important; float: none !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block;
    border: 1px solid #e6e6e6 !important; border-radius: 0; opacity: .55; cursor: pointer; transition: opacity .15s, border-color .15s;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: .85; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; border-color: #111 !important; }
@media (max-width: 767px) {
    .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs { gap: 8px; justify-content: flex-start; }
    .woocommerce-product-gallery .flex-control-thumbs li { flex-basis: 68px !important; width: 68px !important; height: 68px; }
}

/* 8) Ürün sayfası: alttaki "← Önceki / Sonraki →" ürün geçişi kapalı */
.single-product .post-single-navigation { display: none !important; }

/* 9) Galeri okları görselin üstünde değil, küçük resim şeridinin iki yanında */
.woocommerce-product-gallery .flex-direction-nav { display: none !important; }
.woocommerce-product-gallery .twbf-thumbs { display: flex !important; align-items: center; justify-content: flex-start; gap: 6px; margin: 16px 0 0 !important; padding: 0 !important; list-style: none; }
.woocommerce-product-gallery .twbf-thumbs .flex-control-thumbs { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.woocommerce-product-gallery .twbf-thumbs__nav {
    flex: 0 0 32px; width: 32px; height: 88px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
    background: none !important; color: #111 !important; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: opacity .15s;
}
.woocommerce-product-gallery .twbf-thumbs__nav[disabled] { opacity: .2; cursor: default; }
@media (max-width: 767px) {
    .woocommerce-product-gallery .twbf-thumbs { gap: 2px; }
    .woocommerce-product-gallery .twbf-thumbs__nav { flex-basis: 24px; width: 24px; height: 68px; }
}

/* Müzayede kategori sayfası: filtre alanı kaldırıldı, masaüstünde 5'li */
@media only screen and (min-width: 1024px) {
    body.twb-auction-cat ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

/* Müzayede kataloğu (lot sayfasıyla aynı dil): görsel, altında sola hizalı LOT no → saat adı → "İncele".
   Lot no fiyat alanından gelir (twb-fixes.php); fiyat ve başlık kapları display:contents ile açılıp
   tek sütunda order ile dizilir. */
body.twb-auction-cat ul.products > li > .post-inner { height: 100%; }
body.twb-auction-cat ul.products .post-body { flex: 1 1 auto; display: flex; padding: 20px 20px 20px !important; }
body.twb-auction-cat ul.products .post-body-inner { flex: 1 1 auto; display: flex; flex-direction: column; text-align: left; }
body.twb-auction-cat ul.products .post-content-wrap,
body.twb-auction-cat ul.products .price-button-wrapp,
body.twb-auction-cat ul.products .price-button-wrapp > .price { display: contents !important; }
body.twb-auction-cat ul.products .wcq { display: none !important; } /* favori / hızlı bakış: lot sayfasına gidiliyor */

body.twb-auction-cat .twbf-lot {
    order: 10; margin: 0 0 8px; padding: 0 !important; font-size: 12px; line-height: 1.4; font-weight: 500;
    letter-spacing: .14em; text-transform: uppercase; color: #6f6f6f;
}
body.twb-auction-cat ul.products .post-title {
    order: 20; margin: 0 !important; text-align: left !important;
    display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3;
    overflow: hidden !important; min-height: 0 !important; max-height: none !important;
}
body.twb-auction-cat ul.products .post-title,
body.twb-auction-cat ul.products .post-title a { font-size: 18px !important; line-height: 1.35 !important; font-weight: 500; letter-spacing: .02em; }
/* "İncele": addan en az 16px sonra; satırdaki kartlarda aynı hizada olsun diye kartın dibinde */
body.twb-auction-cat ul.products .post-body-inner::after { content: ""; order: 30; flex: 0 0 16px; }
body.twb-auction-cat ul.products .price-button-wrapp > a.button { order: 40; margin: auto 0 0 !important; align-self: flex-start; width: auto !important; text-align: left; }

@media (max-width: 767px) {
    body.twb-auction-cat ul.products .post-body { padding: 14px 12px 16px !important; }
    body.twb-auction-cat ul.products .post-title,
    body.twb-auction-cat ul.products .post-title a { font-size: 15px !important; letter-spacing: .01em; }
    body.twb-auction-cat .twbf-lot { font-size: 11px; margin-bottom: 6px; }
    body.twb-auction-cat ul.products .post-body-inner::after { flex-basis: 12px; }
}

/* ------------------------------------------------------------------
 * Taşımada ikon görselleri yanlış dosyalara (saat fotoğrafı / ürün görseli) bağlanmış: ikon maskesi JPG/WEBP olunca kare dolu görünüyor.
 * Mobil menü düğmesi ve iletişim kutularındaki ikonlar temanın SVG'lerine döner.
 * ------------------------------------------------------------------ */
.elementor .mobile-toggle::before {
    -webkit-mask: url(../../../themes/joice/images/icons/mobile-toggle.svg) 50% 50% / 100% auto no-repeat !important;
    mask: url(../../../themes/joice/images/icons/mobile-toggle.svg) 50% 50% / 100% auto no-repeat !important;
}
.elementor .mobile-toggle.active::before {
    -webkit-mask: url(../../../themes/joice/images/icons/arrow.svg) 50% 50% / 10px auto no-repeat !important;
    mask: url(../../../themes/joice/images/icons/arrow.svg) 50% 50% / 10px auto no-repeat !important;
}
/* E-posta / Bilgi ve Sipariş Hattı (masaüstü ve mobil footer kopyaları) */
.elementor-element-d15505a .et-icon-box .icon::before,
.elementor-element-150e990 .et-icon-box .icon::before {
    -webkit-mask: url(../../../themes/joice/images/icons/social/email.svg) 50% 50% / 70% auto no-repeat !important;
    mask: url(../../../themes/joice/images/icons/social/email.svg) 50% 50% / 70% auto no-repeat !important;
}
.elementor-element-fe684f6 .et-icon-box .icon::before,
.elementor-element-34114de .et-icon-box .icon::before {
    -webkit-mask: url(phone.svg) 50% 50% / 70% auto no-repeat !important;
    mask: url(phone.svg) 50% 50% / 70% auto no-repeat !important;
}

/* ------------------------------------------------------------------
 * Giriş / kayıt formları (Hesabım, ödeme): şifre "göster" düğmesi kutunun altında turuncu blok olarak duruyordu;
 * kutunun içinde göz ikonu olur. Butonlar sitenin siyahı, mobilde form tam genişlik.
 * ------------------------------------------------------------------ */
.woocommerce .password-input { position: relative; display: block; }
.woocommerce .password-input input.input-text { padding-right: 52px !important; }
.woocommerce .password-input .show-password-input {
    position: absolute !important; top: 0; right: 0; bottom: 0; width: 52px; min-width: 0; height: auto !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer;
}
.woocommerce .password-input .show-password-input::before {
    content: ""; display: block; width: 20px; height: 20px; margin: auto; background: #191716;
    -webkit-mask: url(../../../themes/joice/images/icons/view.svg) 50% 50% / contain no-repeat;
    mask: url(../../../themes/joice/images/icons/view.svg) 50% 50% / contain no-repeat;
}
.woocommerce .password-input .show-password-input.display-password::before { opacity: .45; }
.woocommerce .password-input .show-password-input::after { display: none !important; }

.woocommerce form .woocommerce-form-login__submit,
.woocommerce form .woocommerce-form-register__submit,
.woocommerce form.lost_reset_password .woocommerce-Button,
.woocommerce form.woocommerce-ResetPassword .woocommerce-Button {
    background: #191716 !important; color: #fff !important; border-color: #191716 !important;
}
.woocommerce form .woocommerce-form-login__submit:hover,
.woocommerce form .woocommerce-form-register__submit:hover,
.woocommerce form.lost_reset_password .woocommerce-Button:hover { background: #3a3633 !important; border-color: #3a3633 !important; }
.woocommerce .woocommerce-LostPassword a { color: #191716; text-decoration: underline; text-underline-offset: 3px; }
/* Buton "Beni hatırla"nın yanına yapışmasın: kendi satırında, form genişliğinde */
.woocommerce form .woocommerce-form-login__submit,
.woocommerce form .woocommerce-form-register__submit,
.woocommerce form.lost_reset_password .woocommerce-Button { display: block; float: none !important; width: 100% !important; margin: 14px 0 0 !important; }

@media (max-width: 767px) {
    .woocommerce form.woocommerce-form-login,
    .woocommerce form.woocommerce-form-register,
    .woocommerce form.lost_reset_password { max-width: none !important; width: 100% !important; }
}

/* Hesabım: giriş / kayıt tek seferde biri (body.twbf-auth, kayıt görünümü body.twbf-auth--register) */
body.twbf-auth #customer_login { display: block; }
body.twbf-auth #customer_login > .col-1,
body.twbf-auth #customer_login > .col-2 { float: none !important; width: 100% !important; max-width: none; padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.twbf-auth #customer_login > .col-2,
body.twbf-auth--register #customer_login > .col-1 { display: none !important; }
body.twbf-auth--register #customer_login > .col-2 { display: block !important; }
body.twbf-auth .twbf-auth-switch--to-login,
body.twbf-auth--register .twbf-auth-switch--to-register { display: none; }
body.twbf-auth--register .twbf-auth-switch--to-login { display: block; }

.twbf-auth-switch { max-width: 320px; margin: 28px 0 0; padding-top: 24px; border-top: 1px solid #e6e3df; }
.twbf-auth-switch > span { display: block; margin-bottom: 10px; font-size: 15px; color: #6f6f6f; }
.twbf-auth-switch__btn {
    display: block; width: 100%; padding: 14px 20px; text-align: center; font-size: 15px; font-weight: 500; letter-spacing: .04em;
    color: #191716 !important; background: transparent; border: 1px solid #191716; transition: background .2s, color .2s;
}
.twbf-auth-switch__btn:hover { background: #191716; color: #fff !important; }

/* Mobil menü "Hesabım" sekmesi: "Kayıt ol" ince bir link değil, çerçeveli buton */
.form-links { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
.form-links a.signup {
    display: block; order: -1; padding: 13px 20px; text-align: center; font-weight: 500; letter-spacing: .04em;
    color: #191716 !important; border: 1px solid #191716; background: transparent;
}
.form-links a.forgot { align-self: flex-start; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 767px) {
    .twbf-auth-switch { max-width: none; }
}
.elementor-widget-wp-widget-reglog .login-submit input[type="submit"] {
    display: block; width: 100% !important; padding: 13px 20px; background: #191716 !important; border-color: #191716 !important; color: #fff !important;
}

/* Hesabım ana ekranı (templates/dashboard.php) */
.twbf-dash__hello { margin: 0; font-size: 20px; line-height: 1.4; color: #191716; }
.twbf-dash__sub { margin: 2px 0 22px; font-size: 14px; color: #6f6f6f; word-break: break-all; }
.twbf-dash__grid { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.twbf-dash__grid li { margin: 0; padding: 0; }
.twbf-dash__grid a {
    position: relative; display: block; height: 100%; padding: 16px 40px 16px 18px; border: 1px solid #e6e3df; color: #191716;
    transition: border-color .2s, background .2s;
}
.twbf-dash__grid a::after { content: "›"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; line-height: 1; color: #9a958f; }
.twbf-dash__grid a:hover { border-color: #191716; background: #faf9f7; }
.twbf-dash__title { display: block; font-size: 16px; font-weight: 500; }
.twbf-dash__desc { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: #6f6f6f; }
.twbf-dash__logout { font-size: 14px; color: #191716; text-decoration: underline; text-underline-offset: 3px; }
