/*
 * Elitmen · mağaza, kategori, hesabım ve sepet (Seçenek 1, klasik)
 * WooCommerce'in genel stilleri bu sayfalarda kapalı (inc/shop.php); burada kendimiz çiziyoruz.
 * Kırılımlar: 1280 / 1100 / 720.
 */

/* ---------- Ortak: sayfa yolu, başlık ---------- */
.pd-crumbs { padding: 24px 0; font-size: 13px; color: var(--muted); }
.pd-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0; padding: 0; list-style: none; }
.pd-crumbs li { display: inline-flex; align-items: center; gap: 10px; }
.pd-crumbs li + li::before { content: "/"; color: var(--line-strong); }
.pd-crumbs a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.pd-crumbs [aria-current] { color: var(--ink); }

.shop-main, .shop-page { padding-bottom: 112px; }
.shop-main { padding-top: 0; }
.shop-page { padding-top: 0; }
.shop-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; padding: 8px 0 32px; }
.shop-head__title { font-size: 44px; line-height: 1.05; font-weight: 500; letter-spacing: -.03em; }
.shop-head__count { font-size: 15px; color: var(--muted); font-variant-numeric: tabular-nums; }
.shop-head__desc { flex-basis: 100%; max-width: 640px; margin-top: 8px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.shop-head__desc p + p { margin-top: .8em; }

/* ---------- Seçim kutusu (sepet ve hesabım, başlığın üstünde) ---------- */
.vsel-bar { background: var(--stone); border-bottom: 1px solid var(--line); }
.vsel { display: flex; align-items: center; gap: 14px; min-height: 72px; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.vsel label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.vsel__box { position: relative; display: inline-flex; align-items: center; }
.vsel__box select {
	appearance: none; -webkit-appearance: none; height: 48px; min-width: 280px; padding: 0 48px 0 20px; border: 1px solid var(--ink); border-radius: 999px;
	background: #fff; color: var(--ink); font: 500 15px/1 var(--font); cursor: pointer;
}
.vsel__box select:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; }
.vsel__box svg { position: absolute; right: 18px; pointer-events: none; }
.vsel__go { height: 48px; padding: 0 22px; border: 1.5px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.vsel__go:hover { background: var(--ink); color: #fff; }

/* ---------- Ortak: bildirimler ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-notices-wrapper { margin-bottom: 24px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px;
	margin: 0 0 12px; padding: 16px 20px 16px 24px; list-style: none;
	border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: var(--radius);
	background: var(--stone); color: var(--ink); font-size: 15px; line-height: 1.5;
}
.woocommerce-message { border-left-color: var(--gold-text); }
.woocommerce-error { border-left-color: #8a2a2a; background: #f8eeee; flex-direction: column; align-items: flex-start; }
.woocommerce-error li { margin: 0; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; }

/* ---------- Ortak: alanlar ve düğmeler (WooCommerce formları) ---------- */
.shop-content form .form-row, .auth .form-row { margin: 0 0 20px; padding: 0; }
.shop-content label, .auth label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; line-height: 1.3; }
.shop-content label .required, .auth label .required { color: #8a2a2a; text-decoration: none; }
.shop-content label.checkbox, .shop-content label.woocommerce-form__label-for-checkbox, .auth label.woocommerce-form__label-for-checkbox {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; font-weight: 400; font-size: 15px; cursor: pointer;
}
.shop-content input[type="checkbox"], .auth input[type="checkbox"] { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--ink); }
.shop-content input[type="text"], .shop-content input[type="email"], .shop-content input[type="tel"], .shop-content input[type="password"],
.shop-content input[type="number"], .shop-content input[type="search"], .shop-content select, .shop-content textarea,
.auth input[type="text"], .auth input[type="email"], .auth input[type="password"] {
	display: block; width: 100%; height: 48px; padding: 0 16px; margin: 0;
	border: 1px solid var(--line-strong); border-radius: var(--radius); background: #fff; color: var(--ink);
	font: inherit; font-size: 16px; line-height: 1.2;
	transition: border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.shop-content textarea { height: auto; min-height: 120px; padding: 12px 16px; line-height: 1.5; }
.shop-content select { appearance: none; padding-right: 44px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center; }
.shop-content input:hover:not(:focus), .shop-content select:hover:not(:focus), .shop-content textarea:hover:not(:focus),
.auth input[type="text"]:hover:not(:focus), .auth input[type="email"]:hover:not(:focus), .auth input[type="password"]:hover:not(:focus) { border-color: var(--ink); }
.shop-content input:focus, .shop-content select:focus, .shop-content textarea:focus,
.auth input[type="text"]:focus, .auth input[type="email"]:focus, .auth input[type="password"]:focus {
	outline: 0; border-color: var(--gold-text); box-shadow: 0 0 0 3px var(--gold-light);
}
.shop-content input[type="checkbox"]:focus-visible, .auth input[type="checkbox"]:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; box-shadow: none; }
.shop-content .woocommerce-invalid input, .shop-content .woocommerce-invalid select { border-color: #8a2a2a; }
.shop-content em, .auth em { font-style: normal; }
.shop-content .description, .shop-content small, .auth .auth__hint { font-size: 13px; color: var(--muted); }
.shop-content span em, .shop-content .form-row > span > em { display: block; margin-top: 6px; font-size: 13px; color: var(--muted); }

/* Şifre göster/gizle */
.password-input { position: relative; display: block; }
.password-input input { padding-right: 52px !important; }
.show-password-input { position: absolute; top: 0; right: 0; width: 48px; height: 48px; padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.show-password-input:hover { color: var(--ink); }
.show-password-input:focus-visible { outline: 2px solid var(--gold-text); outline-offset: -4px; border-radius: var(--radius); }
.show-password-input::after {
	content: ""; display: block; width: 20px; height: 20px; margin: auto; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.show-password-input.display-password::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
}

/* WooCommerce düğmeleri, .eb görünümünde (ok çipsiz) */
.shop-content .button, .shop-content button.button, .shop-content button[type="submit"], .shop-content a.woocommerce-Button {
	display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 26px; border: 0; border-radius: 999px;
	background: var(--ink); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; cursor: pointer;
	transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.shop-content .button:hover, .shop-content button[type="submit"]:hover { background: var(--ink-2); }
.shop-content .woocommerce-message .button, .shop-content .woocommerce-info .button { height: 44px; padding: 0 20px; }
.eo--sm { height: 44px; padding: 0 20px; }
.shop-content .eo, .shop-content a.eo { background: transparent; color: var(--ink); border: 1.5px solid currentColor; padding: 0 26px; }
.shop-content .eo:hover, .shop-content a.eo:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.shop-content .eo--sm, .shop-content a.eo--sm { height: 44px; padding: 0 20px; }
.shop-content .eb, .auth .eb { gap: 16px; }
.shop-content .eb--block, .auth .eb--block { justify-content: space-between; width: 100%; height: 56px; padding: 0 8px 0 26px; }
.shop-content a.eb { color: #fff; }
.shop-content a.eb:hover { background: var(--ink-2); }

/* ---------- Kategori başlık bandı ve alt kategori kartları ---------- */
.cat-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); min-height: 220px; margin: 24px 0 40px; border-radius: 20px; background: var(--stone); overflow: hidden; }
.cat-hero__text { display: flex; flex-direction: column; justify-content: center; padding: 28px 48px 32px; }
.cat-hero .pd-crumbs { padding: 0 0 20px; }
.cat-hero__title { font-size: 44px; line-height: 1; font-weight: 500; letter-spacing: -.04em; text-wrap: balance; }
.cat-hero__count { margin-top: 12px; font-size: 15px; color: var(--muted); font-variant-numeric: tabular-nums; }
.cat-hero__desc { max-width: 460px; margin-top: 16px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.cat-hero__desc p + p { margin-top: .8em; }
.cat-hero__media { position: relative; min-height: 0; background: #e8e4db; }
.cat-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.cat-ph {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 16px; text-align: center;
	background: linear-gradient(160deg, var(--stone), #e1ddd2); color: var(--ink); font-weight: 500; letter-spacing: -.02em;
}
.cat-hero__media .cat-ph { position: absolute; inset: 0; font-size: clamp(28px, 3.4vw, 48px); }
.cat-hero__media .cat-ph span, .subcat__media .cat-ph span { text-wrap: balance; }

.shop-section-title { margin: 0 0 24px; font-size: 28px; line-height: 1.15; font-weight: 500; letter-spacing: -.03em; }
.subcats { margin-bottom: 72px; }
.subcats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; }
.subcat { display: block; }
.subcat__media { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; background: var(--stone); }
.subcat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.subcat:hover .subcat__media img { transform: scale(1.03); }
.subcat .cat-ph { font-size: 22px; }
.subcat__name { display: block; margin-top: 14px; font-size: 17px; font-weight: 500; letter-spacing: -.01em; }
.subcat:hover .subcat__name { text-decoration: underline; text-underline-offset: 4px; }
.subcat__meta { display: block; margin-top: 2px; font-size: 14px; color: var(--muted); font-variant-numeric: tabular-nums; }
.subcat.is-soon .subcat__name { color: var(--muted); font-weight: 400; }
.subcat.is-soon .subcat__media img { opacity: .5; }
.subcat.is-soon .subcat__meta { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

/* =====================================================================
 * Mağaza ve kategori arşivi
 * ===================================================================== */
.shop-chips { margin: 0 0 24px; }
.shop-chips ul { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px;
	border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 500;
	transition: background-color .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.chip:hover { border-color: var(--ink); }
.chip.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

.shop-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; margin-bottom: 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.shop-bar__count { font-size: 14px; color: var(--muted); }
.shop-sort { display: flex; align-items: center; gap: 12px; margin: 0; }
.shop-sort__label { font-size: 14px; font-weight: 600; }
.shop-sort__field { position: relative; display: block; }
.shop-sort__field .icon { position: absolute; right: 14px; top: 50%; margin-top: -8px; pointer-events: none; }
.shop-sort select {
	appearance: none; height: 44px; min-width: 220px; padding: 0 40px 0 18px; border: 1px solid var(--line-strong); border-radius: 999px;
	background: #fff; font-size: 15px; font-weight: 500; cursor: pointer;
	transition: border-color .18s var(--ease);
}
.shop-sort select:hover { border-color: var(--ink); }
.shop-sort select:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; }
.shop-sort__apply { height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font-size: 14px; cursor: pointer; }

.shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
.shop-grid__item { min-width: 0; }

.shop-pagination { margin-top: 64px; }
.shop-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.shop-pagination li { margin: 0; }
.shop-pagination .page-numbers > li > * {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px;
	border: 1px solid var(--line-strong); border-radius: var(--radius); font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums;
	transition: background-color .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.shop-pagination a.page-numbers:hover { border-color: var(--ink); }
.shop-pagination span.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.shop-pagination span.dots { border-color: transparent; }

/* Boş durum */
.shop-empty { max-width: 560px; padding: 56px 0 24px; }
.shop-empty__title { font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -.02em; }
.shop-empty__text { margin: 12px 0 28px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.shop-empty--inline { padding: 8px 0 0; }
.shop-empty .btn-row .eo { gap: 10px; }

/* =====================================================================
 * Hesabım
 * ===================================================================== */
.shop-content { font-size: 16px; line-height: 1.6; }
.woocommerce-account .shop-content > .woocommerce { display: block; }

/* Giriş yapılmamış */
.account-login-only .shop-head, .woocommerce-lost-password .shop-head { justify-content: center; }
.account-login-only .woocommerce-notices-wrapper { max-width: 480px; margin-left: auto; margin-right: auto; }
.woocommerce-ResetPassword { max-width: 480px; margin: 0 auto; }
.woocommerce-lost-password .woocommerce-notices-wrapper { max-width: 480px; margin-left: auto; margin-right: auto; }
.woocommerce-ResetPassword .form-row-first, .woocommerce-ResetPassword .form-row-last { float: none; width: 100%; }
.woocommerce-ResetPassword > p:first-child { margin-bottom: 24px; color: var(--muted); }

.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-MyAccount-content p { margin: 0 0 1em; color: #3a3a3a; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-column__title, .woocommerce-Address-title h2, .woocommerce-Address-title h3 {
	margin: 0 0 16px; font-size: 24px; line-height: 1.2; font-weight: 500; letter-spacing: -.02em; color: var(--ink);
}
.woocommerce-MyAccount-content a:not(.button):not(.eo):not(.eb):not(.tl):not(.acc-card):not(.h-link):not(.ho__go) { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-content a:not(.button):not(.eo):not(.eb):not(.tl):not(.acc-card):not(.h-link):not(.ho__go):hover { color: var(--gold-text); }

/* Sipariş ayrıntısı: işaretleme ve adres düz metin */
.woocommerce-MyAccount-content mark { padding: 0; background: none; color: inherit; font-weight: 600; }
.woocommerce-MyAccount-content address { font-style: normal; line-height: 1.7; }

/* Tablolar (siparişler, sipariş ayrıntısı) */
.woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-MyAccount-content table th { padding: 0 16px 12px 0; border-bottom: 1px solid var(--ink); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-align: left; text-transform: uppercase; color: var(--muted); }
.woocommerce-MyAccount-content table td, .woocommerce-MyAccount-content table tbody th { padding: 20px 16px 20px 0; border-bottom: 1px solid var(--line); vertical-align: middle; text-align: left; }
.woocommerce-MyAccount-content table tbody th { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
.woocommerce-MyAccount-content table tfoot th, .woocommerce-MyAccount-content table tfoot td { padding: 14px 16px 14px 0; font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink); border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-content table tfoot tr:last-child th, .woocommerce-MyAccount-content table tfoot tr:last-child td { font-weight: 600; }
.woocommerce-MyAccount-content table .amount { font-variant-numeric: tabular-nums; }
.woocommerce-orders-table__cell-order-number a { text-decoration: none; }
.woocommerce-orders-table__cell-order-number a:hover { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-orders-table__cell-order-actions { text-align: right !important; padding-right: 0 !important; }
.woocommerce-orders-table__cell-order-actions .button + .button { margin-left: 8px; }
.ostatus { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.ostatus::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.ostatus--completed::before { background: #3f7a55; }
.ostatus--processing::before, .ostatus--on-hold::before { background: var(--gold); }
.ostatus--pending::before { background: var(--gold-text); }
.ostatus--cancelled::before, .ostatus--failed::before, .ostatus--refunded::before { background: #8a2a2a; }
.acc-pager { display: flex; gap: 12px; margin-top: 32px; }

/* Adresler ve hesap detayları */
.woocommerce-Addresses, .u-columns.addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.woocommerce-Address { padding: 24px; border: 1px solid var(--line); border-radius: 16px; }
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { margin: 0; font-size: 20px; }
.woocommerce-Address-title a.edit { font-size: 14px; font-weight: 500; }
.woocommerce-Address address { font-style: normal; line-height: 1.7; color: #3a3a3a; }
.woocommerce-EditAccountForm fieldset, .woocommerce-address-fields { margin: 24px 0 0; padding: 0; border: 0; min-width: 0; }
.woocommerce-EditAccountForm legend { padding: 0; margin: 8px 0 20px; font-size: 20px; font-weight: 500; letter-spacing: -.01em; }
.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm { display: flex; flex-wrap: wrap; gap: 0 16px; }
.woocommerce-address-fields__field-wrapper > .form-row { flex: 1 1 100%; }
.woocommerce-address-fields__field-wrapper > .form-row-first, .woocommerce-address-fields__field-wrapper > .form-row-last,
.woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last { flex: 1 1 calc(50% - 8px); float: none; width: auto; }
.woocommerce-EditAccountForm > .form-row-wide, .woocommerce-EditAccountForm > fieldset, .woocommerce-EditAccountForm > p:not(.form-row), .woocommerce-EditAccountForm > .clear { flex: 1 1 100%; }
.woocommerce-EditAccountForm .clear, .woocommerce-address-fields .clear { display: none; }
.woocommerce-address-fields > p:last-child { margin-top: 8px; }

/* select2 (ülke / il seçimi) */
.shop-content .select2-container { display: block; width: 100% !important; }
.shop-content .select2-container .select2-selection--single { display: flex; align-items: center; height: 48px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #fff; }
.shop-content .select2-container .select2-selection--single .select2-selection__rendered { flex: 1; padding: 0 44px 0 16px; line-height: 46px; color: var(--ink); font-size: 16px; }
.shop-content .select2-container .select2-selection--single .select2-selection__arrow { top: 0; right: 8px; height: 46px; }
.shop-content .select2-container--open .select2-selection--single, .shop-content .select2-container--focus .select2-selection--single { border-color: var(--gold-text); box-shadow: 0 0 0 3px var(--gold-light); }
.select2-dropdown { border-color: var(--line-strong) !important; border-radius: var(--radius) !important; overflow: hidden; z-index: 70; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--stone); color: var(--ink); }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 40px; border-radius: 6px; border: 1px solid var(--line-strong); }

/* =====================================================================
 * Sepet (WooCommerce Cart bloğu; wc-blocks stilleri üzerine)
 * ===================================================================== */
.shop-page--cart .shop-content { font-size: 16px; }
.wp-block-woocommerce-cart { margin: 0; max-width: none; }
.wp-block-woocommerce-cart .wc-block-cart { margin: 0; }
.wc-block-cart, .wc-block-cart * { font-family: var(--font); }
.wc-block-components-sidebar-layout { gap: 0; }
/* Geniş alanda yan yana; kapsayıcı daralınca (is-medium, is-small, is-mobile) alt alta: sepet satırları üstte, özet altta */
.wc-block-components-sidebar-layout.wc-block-cart { display: flex; flex-wrap: nowrap; align-items: flex-start; }
.wc-block-components-sidebar-layout.wc-block-cart .wc-block-components-main { width: 65%; padding-right: 64px; box-sizing: border-box; }
.wc-block-components-sidebar-layout.wc-block-cart .wc-block-components-sidebar { width: 35%; padding-left: 0; box-sizing: border-box; }
.wc-block-components-sidebar-layout.wc-block-cart:is(.is-medium, .is-small, .is-mobile) { flex-direction: column; }
.wc-block-components-sidebar-layout.wc-block-cart:is(.is-medium, .is-small, .is-mobile) .wc-block-components-main,
.wc-block-components-sidebar-layout.wc-block-cart:is(.is-medium, .is-small, .is-mobile) .wc-block-components-sidebar { width: 100%; padding-right: 0; padding-left: 0; }
.wc-block-components-sidebar-layout.wc-block-cart:is(.is-medium, .is-small, .is-mobile) .wc-block-components-sidebar { margin-top: 32px; }

/* Satırlar */
table.wc-block-cart-items { width: 100%; margin: 0; border-collapse: collapse; }
table.wc-block-cart-items th { padding: 0 0 12px; border-bottom: 1px solid var(--ink); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
table.wc-block-cart-items tr.wc-block-cart-items__row { border-bottom: 1px solid var(--line); }
table.wc-block-cart-items tr.wc-block-cart-items__row td { padding: 24px 0; border: 0; vertical-align: top; }
.wc-block-cart-item__image { width: 112px; padding-right: 20px !important; }
.wc-block-cart-item__image a { display: block; border-radius: var(--radius); overflow: hidden; background: var(--stone); }
.wc-block-cart-item__image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.wc-block-components-product-name { font-size: 16px; font-weight: 500; line-height: 1.35; color: var(--ink); text-decoration: none; }
a.wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-block-components-product-metadata, .wc-block-components-product-details { font-size: 13px; color: var(--muted); }
.wc-block-components-product-price, .wc-block-cart-item__prices { font-size: 15px; font-variant-numeric: tabular-nums; }
.wc-block-components-product-price__regular { color: var(--muted); }
.wc-block-cart-item__total .wc-block-components-product-price { font-size: 16px; font-weight: 600; }
.wc-block-components-product-badge { border-radius: 4px; border-color: var(--line-strong); font-size: 12px; }

/* Adet seçici */
.wc-block-components-quantity-selector {
	display: inline-flex; width: auto; height: 44px; margin: 14px 0 0; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; overflow: hidden;
}
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector:focus-within { border-color: var(--gold-text); box-shadow: 0 0 0 3px var(--gold-light); }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	width: 44px; min-height: 0; height: 100%; padding: 0; border: 0 !important; background: transparent; box-shadow: none; font-size: 15px; font-weight: 500; text-align: center; color: var(--ink); -moz-appearance: textfield;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus { outline: 0; box-shadow: none; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	position: static; width: 44px; min-width: 44px; height: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); font-size: 18px; opacity: 1; cursor: pointer;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) { background: var(--stone); }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .35; cursor: not-allowed; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible { outline: 2px solid var(--gold-text); outline-offset: -3px; }
.wc-block-cart-item__remove-link { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; margin: 14px 0 0; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--muted); cursor: pointer; transition: background-color .18s var(--ease), color .18s var(--ease); }
.wc-block-cart-item__remove-link:hover { background: var(--stone); color: #8a2a2a; }
.wc-block-cart-item__remove-link:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }
.wc-block-cart-item__remove-link svg { width: 20px; height: 20px; fill: currentColor; }
.wc-block-cart-item__quantity { display: flex; flex-direction: row; align-items: flex-start; gap: 4px; }

/* Özet kartı */
.wc-block-cart__sidebar, .wp-block-woocommerce-cart-order-summary-block { box-sizing: border-box; }
.wc-block-components-sidebar.wc-block-cart__sidebar { padding: 28px; border-radius: 16px; background: var(--stone); }
.wc-block-cart__totals-title, .wc-block-components-totals-wrapper .wc-block-components-title { display: block; padding: 0 0 16px !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em; text-align: left !important; text-transform: uppercase; color: var(--muted); }
.wc-block-components-totals-wrapper { padding: 16px 0; border-top: 1px solid var(--line-strong); }
.wc-block-components-totals-wrapper:first-of-type { border-top: 0; }
.wc-block-components-totals-item { font-size: 15px; }
.wc-block-components-totals-item__label { font-weight: 400; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 16px; font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; }
.wc-block-components-totals-item__description { font-size: 13px; color: var(--muted); }

/* Kupon */
.wc-block-components-totals-coupon .wc-block-components-panel__button { min-height: 44px; padding: 0; font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.wc-block-components-totals-coupon .wc-block-components-panel__button:hover { color: var(--gold-text); }
.wc-block-components-totals-coupon__form { gap: 8px; }
.wc-block-components-totals-coupon__input input[type="text"], .wc-block-components-text-input input[type="text"] {
	height: 48px; min-height: 48px; padding: 18px 16px 4px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #fff; font-size: 16px; color: var(--ink); box-shadow: none;
}
.wc-block-components-text-input input:focus { outline: 0; border-color: var(--gold-text); box-shadow: 0 0 0 3px var(--gold-light); }
.wc-block-components-text-input label { color: var(--muted); font-size: 16px; }
.wc-block-components-totals-coupon__button, .wc-block-components-totals-coupon__button.wc-block-components-button {
	height: 48px; min-height: 48px; padding: 0 20px; border: 1.5px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.wc-block-components-totals-coupon__button:hover:not(:disabled) { background: var(--ink); color: #fff; }

/* Ödemeye geç: .eb görünümü */
.wc-block-cart__submit-container { padding: 16px 0 0; }
.wc-block-cart__submit-button.wc-block-components-button, a.wc-block-cart__submit-button {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; height: 56px; min-height: 56px; padding: 0 8px 0 26px; border: 0; border-radius: 999px;
	background: var(--ink); color: #fff; font-family: var(--font); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
	transition: background-color .2s var(--ease);
}
.wc-block-cart__submit-button:hover { background: var(--ink-2); color: #fff; }
.wc-block-cart__submit-button:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; box-shadow: none; }
.wc-block-cart__submit-button .wc-block-components-button__text { display: block; margin: 0; }
/* .eb ok çipi */
.wc-block-cart__submit-button::after {
	content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center;
	transition: transform .22s var(--ease);
}
.wc-block-cart__submit-button:hover::after { transform: translateX(4px); }

/* Telefonda sabit "Ödemeye git" çubuğu: düz beyaz; WhatsApp butonu çubuğun üstüne çıkar (çakışmaz) */
.wc-block-cart__submit-container--sticky {
	padding: 16px var(--gutter) calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fff; box-shadow: none;
}
.wc-block-cart__submit-container--sticky::before { display: none; }
body:has(.wc-block-cart__submit-container--sticky) .wa-float { bottom: calc(var(--wa-edge) + 88px + env(safe-area-inset-bottom)); }

/* Boş sepet */
.wp-block-woocommerce-empty-cart-block { max-width: none; padding: 16px 0 0; text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { margin: 0 0 12px; font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -.02em; text-align: left !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { display: none; }
.wp-block-woocommerce-empty-cart-block > p { margin: 0; text-align: left !important; }
.wp-block-woocommerce-empty-cart-block > p a {
	display: inline-flex; align-items: center; gap: 16px; height: 52px; padding: 0 8px 0 26px; border-radius: 999px; background: var(--ink); color: #fff;
	font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: background-color .2s var(--ease);
}
.wp-block-woocommerce-empty-cart-block > p a:hover { background: var(--ink-2); }
.wp-block-woocommerce-empty-cart-block > p a::after {
	content: ""; width: 36px; height: 36px; border-radius: 50%; background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center;
}
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator { width: 100%; max-width: none; height: 0; margin: 56px 0 48px; border: 0; border-top: 1px solid var(--line); background: none; }
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator::before { display: none; }
.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { margin: 0 0 28px; font-size: 30px; line-height: 1.1; font-weight: 500; letter-spacing: -.03em; text-align: left !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; margin: 0; padding: 0; list-style: none; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product { flex: none !important; width: auto !important; max-width: none !important; margin: 0; padding: 0; border: 0; text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link { display: block; text-decoration: none; color: inherit; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image { aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; background: var(--stone); }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.03); }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { margin: 16px 0 6px; padding: 0; font-size: 16px; font-weight: 400; line-height: 1.35; text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price { margin: 0 0 8px; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart { margin: 0; text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--ink);
	font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { color: var(--gold-text); }

/* =====================================================================
 * Duyarlı
 * ===================================================================== */
@media (max-width: 1280px) {
	.shop-grid { gap: 40px 20px; }
	.wc-block-components-sidebar-layout.wc-block-cart .wc-block-components-main { padding-right: 40px; }
}

@media (max-width: 1100px) {
	.cat-hero { min-height: 200px; }
	.cat-hero__text { padding: 24px 32px 28px; }
	.cat-hero__title { font-size: 38px; }
	.subcats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
	.subcats { margin-bottom: 56px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
	.shop-main, .shop-page { padding-bottom: 88px; }
	.shop-head__title { font-size: 38px; }
	.shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
	.woocommerce-Addresses, .u-columns.addresses { grid-template-columns: 1fr; }
	.wc-block-components-sidebar-layout.wc-block-cart .wc-block-components-main { padding-right: 32px; }
}

@media (max-width: 720px) {
	/* Telefonda kutu ve görsel yok: sayfa yolu, başlık ve ürün sayısı sade akar. */
	.cat-hero { display: block; min-height: 0; margin: 0 0 24px; border-radius: 0; background: none; }
	.cat-hero__text { padding: 0; }
	.cat-hero .pd-crumbs { padding: 16px 0; }
	.cat-hero__title { font-size: 30px; }
	.cat-hero__desc { font-size: 15px; }
	.cat-hero__media { display: none; }
	.shop-section-title { margin-bottom: 20px; font-size: 24px; }
	.subcats { margin-bottom: 44px; }
	.subcats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.subcat__name { margin-top: 10px; font-size: 15px; }
	.subcat .cat-ph { font-size: 18px; }
	.pd-crumbs { padding: 16px 0; font-size: 12px; }
	.shop-main, .shop-page { padding-bottom: 64px; }
	.shop-head { padding: 0 0 24px; }
	.shop-head__title { font-size: 30px; }
	.shop-head__count { font-size: 14px; }
	.shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }

	.shop-chips { margin-right: calc(var(--gutter) * -1); margin-bottom: 16px; }
	.shop-chips ul { flex-wrap: nowrap; overflow-x: auto; padding-right: var(--gutter); scrollbar-width: none; scroll-snap-type: x proximity; }
	.shop-chips ul::-webkit-scrollbar { display: none; }
	.shop-chips li { flex: none; scroll-snap-align: start; }

	.shop-bar { gap: 8px; padding: 10px 0; margin-bottom: 24px; }
	.shop-bar__count { font-size: 13px; line-height: 1.3; }
	.shop-sort { gap: 8px; }
	.shop-sort__label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.shop-sort { flex: none; }
	.shop-bar__count { flex: 1; min-width: 0; }
	.shop-sort select { min-width: 0; width: 196px; padding: 0 36px 0 14px; font-size: 14px; text-overflow: ellipsis; }
	.shop-pagination { margin-top: 40px; }
	.shop-empty { padding-top: 24px; }
	.shop-empty__title { font-size: 26px; }
	.shop-empty .btn-row { flex-direction: column; align-items: stretch; }
	.shop-empty .btn-row .eb { justify-content: space-between; }
	.shop-empty .btn-row .eo { justify-content: center; }

	.vsel { gap: 8px; }
	.vsel__box, .vsel__box select { width: 100%; min-width: 0; }

	/* Hesabım */
	.shop-content input[type="text"], .shop-content input[type="email"], .shop-content input[type="tel"], .shop-content input[type="password"], .shop-content select { font-size: 16px; }
	.woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last,
	.woocommerce-address-fields__field-wrapper > .form-row-first, .woocommerce-address-fields__field-wrapper > .form-row-last { flex-basis: 100%; }
	.woocommerce-Address { padding: 20px; }

	/* Siparişler: tablo kart olur */
	.woocommerce-MyAccount-content table.shop_table_responsive thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
	.woocommerce-MyAccount-content table.shop_table_responsive, .woocommerce-MyAccount-content table.shop_table_responsive tbody, .woocommerce-MyAccount-content table.shop_table_responsive tr { display: block; }
	.woocommerce-MyAccount-content table.my_account_orders tr { margin-bottom: 12px; padding: 4px 16px; border: 1px solid var(--line); border-radius: 12px; }
	.woocommerce-MyAccount-content table.my_account_orders th, .woocommerce-MyAccount-content table.my_account_orders td { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); text-align: right; }
	.woocommerce-MyAccount-content table.my_account_orders th::before, .woocommerce-MyAccount-content table.my_account_orders td::before { content: attr(data-title); flex: none; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
	.woocommerce-MyAccount-content table.my_account_orders tbody th { font-size: 16px; }
	.woocommerce-MyAccount-content table.my_account_orders td:last-child { border-bottom: 0; }
	.woocommerce-MyAccount-content table.my_account_orders .woocommerce-orders-table__cell-order-actions { display: flex; padding: 12px 0 8px !important; text-align: left !important; }
	.woocommerce-MyAccount-content table.my_account_orders .woocommerce-orders-table__cell-order-actions::before { display: none; }
	.woocommerce-MyAccount-content table.my_account_orders .woocommerce-orders-table__cell-order-actions .button { flex: 1; }
	.acc-pager .eo { flex: 1; }

	/* Sepet */
	.wc-block-components-sidebar.wc-block-cart__sidebar { margin-top: 32px; padding: 20px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-size: 26px; }
	.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { font-size: 26px; }
	.wp-block-woocommerce-empty-cart-block hr.wp-block-separator { margin: 40px 0 32px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { font-size: 14px; margin-top: 12px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price { font-size: 15px; }
}

/* Sepet satırı dar alanda (WooCommerce bloğu .is-mobile / .is-small sınıflarını kapsayıcı genişliğine göre verir) */
.wc-block-cart.is-mobile table.wc-block-cart-items tr.wc-block-cart-items__row,
.wc-block-cart.is-small table.wc-block-cart-items tr.wc-block-cart-items__row {
	display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; column-gap: 14px; padding: 20px 0;
}
.wc-block-cart.is-mobile table.wc-block-cart-items tr.wc-block-cart-items__row td,
.wc-block-cart.is-small table.wc-block-cart-items tr.wc-block-cart-items__row td { padding: 0; }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__image,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__image { grid-column: 1; grid-row: 1; width: auto; padding-right: 0 !important; }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__product,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__product { grid-column: 2 / 4; grid-row: 1; }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__total,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__total { grid-column: 3; grid-row: 1; justify-self: end; }
.wc-block-cart.is-mobile .wc-block-cart-item__wrap > :not(.wc-block-cart-item__quantity),
.wc-block-cart.is-small .wc-block-cart-item__wrap > :not(.wc-block-cart-item__quantity) { padding-right: 84px; }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__remove-link,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__remove-link { display: inline-flex; }
.wc-block-cart.is-mobile .wc-block-cart-item__quantity, .wc-block-cart.is-small .wc-block-cart-item__quantity { padding: 0; }
.wc-block-cart.is-mobile .wc-block-components-quantity-selector, .wc-block-cart.is-small .wc-block-components-quantity-selector { margin-top: 10px; }
.wc-block-cart.is-mobile .wc-block-cart-item__remove-link, .wc-block-cart.is-small .wc-block-cart-item__remove-link { margin-top: 10px; }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__header, .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__header { display: none; }


/* =====================================================================
 * Kategori sayfası varyasyonları (inc/shop.php: elitmen_cat_variant)
 * V1 = yukarıdaki .cat-hero / .subcats düzeni. V2 = .cat-v2 (tam genişlik görsel bant),
 * V3 = .cat-v3 (tipografik başlık + yuvarlak kategori görselleri). Şablonlar: template-parts/shop/cat-head-*.php
 * ===================================================================== */

/* ---------- V2: tam genişlik görsel bant ---------- */
.cat-band {
	position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 232px;
	margin: 24px 0 32px; border-radius: 20px; background: #2a2823; overflow: hidden; color: #fff; isolation: isolate;
}
.cat-band__media { position: absolute; inset: 0; z-index: 0; }
.cat-band__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.cat-band__media .cat-ph { position: absolute; inset: 0; background: linear-gradient(160deg, #3b382f, #1c1b18); }
.cat-band__media .cat-ph span { display: none; }
/* Okunabilirlik: hafif genel örtü + üstte sayfa yolu için + altta başlık için koyu degrade (beyaz metin AA kontrast) */
.cat-band::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(to bottom, rgba(18, 18, 18, .6) 0, rgba(18, 18, 18, 0) 42%),
		linear-gradient(to top, rgba(18, 18, 18, .84) 0, rgba(18, 18, 18, .52) 45%, rgba(18, 18, 18, 0) 88%),
		rgba(18, 18, 18, .16);
}
.cat-band__inner { position: relative; z-index: 2; display: flex; flex: 1; flex-direction: column; justify-content: space-between; padding: 0 40px 28px; }
.cat-band .pd-crumbs { padding: 20px 0 0; color: rgba(255, 255, 255, .9); text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.cat-band .pd-crumbs li + li::before { color: rgba(255, 255, 255, .6); }
.cat-band .pd-crumbs a:hover { color: #fff; }
.cat-band .pd-crumbs [aria-current] { color: #fff; }
.cat-band__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; padding-top: 48px; }
.cat-band__title { font-size: 44px; line-height: 1; font-weight: 500; letter-spacing: -.04em; text-wrap: balance; color: #fff; text-shadow: 0 1px 14px rgba(0, 0, 0, .3); }
.cat-band__count { font-size: 15px; color: rgba(255, 255, 255, .92); font-variant-numeric: tabular-nums; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.cat-v2 .cat-desc { max-width: 640px; margin: -8px 0 28px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.cat-v2 .cat-desc p + p { margin-top: .8em; }

/* Alt kategori şeridi: görselin üstünde ad ve sayı; masaüstünde 4 kart görünür, fazlası oklarla kayar. */
.cat-rail { margin-bottom: 64px; }
.cat-rail__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.cat-rail__title { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 500; letter-spacing: -.02em; }
.cat-rail__nav { display: flex; gap: 8px; }
.cat-rail__nav[hidden] { display: none; }
.cat-rail__btn {
	display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; color: var(--ink);
	transition: background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), opacity .18s var(--ease);
}
.cat-rail__btn:hover:not(:disabled) { border-color: var(--ink); background: var(--ink); color: #fff; }
.cat-rail__btn:disabled { opacity: .35; cursor: default; }
.cat-rail__btn--prev svg { transform: rotate(180deg); }
.cat-rail__list {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 16px) / 4); gap: 16px; overflow-x: auto;
	scroll-snap-type: x mandatory; scrollbar-width: none;
}
.cat-rail__list::-webkit-scrollbar { display: none; }
.cat-rail__list > li { min-width: 0; scroll-snap-align: start; }
.rail-card { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; background: var(--stone); isolation: isolate; }
.rail-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.rail-card__media { position: absolute; inset: 0; z-index: -1; }
.rail-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; transition: transform .6s var(--ease); }
.rail-card:hover .rail-card__media img { transform: scale(1.04); }
.rail-card .cat-ph { padding: 16px; font-size: 22px; }
.rail-card .cat-ph span { display: none; } /* Ad zaten kartın altında yazıyor. */
.rail-card::after { content: ""; position: absolute; inset: 45% 0 0; z-index: -1; background: linear-gradient(180deg, rgba(18, 18, 18, 0), rgba(18, 18, 18, .72)); }
.rail-card__body { position: absolute; inset: auto 0 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 20px; color: #fff; }
.rail-card__text { min-width: 0; }
.rail-card__name { display: block; font-size: 20px; line-height: 1.15; font-weight: 500; letter-spacing: -.02em; text-wrap: balance; }
.rail-card__meta { display: block; margin-top: 4px; font-size: 13px; color: rgba(255, 255, 255, .85); font-variant-numeric: tabular-nums; }
.rail-card__go {
	display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--ink);
	transition: background-color .2s var(--ease), color .2s var(--ease);
}
.rail-card:hover .rail-card__go { background: var(--gold); color: #fff; }
.rail-card__tag {
	position: absolute; top: 14px; left: 14px; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--ink);
	font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.rail-card.is-soon .rail-card__media img { filter: grayscale(1); opacity: .55; }
.rail-card.is-soon .rail-card__go { background: rgba(255, 255, 255, .7); }
.cat-v2 .shop-chips { margin-top: -8px; }

/* ---------- V3: tipografik başlık ---------- */
.cat-type { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; margin: 24px 0 36px; padding-bottom: 28px; border-top: 1px solid var(--ink); }
.cat-type.has-list { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 0 72px; }
.cat-type.has-many { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); }
.cat-type .pd-crumbs { padding: 20px 0 18px; }
.cat-type__title { font-size: 64px; line-height: .98; font-weight: 500; letter-spacing: -.045em; text-wrap: balance; }
.cat-type__count { margin-top: 14px; font-size: 15px; color: var(--muted); font-variant-numeric: tabular-nums; }
.cat-type__desc { max-width: 560px; margin-top: 14px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.cat-type__desc p + p { margin-top: .8em; }
.cat-type__list-title { margin: 0; padding: 22px 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cat-type__list ul { border-bottom: 1px solid var(--line); }
.cat-type__list.is-many ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.cat-type__list a { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 15px; transition: color .18s var(--ease); }
.cat-type__name::before { content: ""; display: inline-block; width: 0; height: 6px; margin-right: 0; border-radius: 50%; background: var(--gold); transition: width .18s var(--ease), margin-right .18s var(--ease); }
.cat-type__list a:hover, .cat-type__list a:focus-visible { color: var(--gold-text); }
.cat-type__list a:hover .cat-type__name { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.cat-type__list a:hover .cat-type__name::before { width: 6px; margin-right: 8px; }
.cat-type__num { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cat-type__list a.is-active { color: var(--gold-text); font-weight: 600; }
.cat-type__list a.is-active .cat-type__name::before { width: 6px; margin-right: 8px; }
.cat-type__list a.is-soon .cat-type__name { color: var(--muted); }
.cat-type__list a.is-soon.is-active .cat-type__name { color: var(--gold-text); }
.cat-type__list a.is-soon .cat-type__num { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

.cat-circles { margin: -8px 0 48px; }
.cat-circles ul { display: flex; gap: 36px; padding: 8px 6px 10px; margin: 0 -6px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
.cat-circles li { flex: none; width: 120px; }
.circle { display: block; text-align: center; }
.circle__media { display: block; width: 120px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--stone); transition: box-shadow .22s var(--ease); }
.circle:hover .circle__media, .circle:focus-visible .circle__media { box-shadow: 0 0 0 3px var(--paper, #fff), 0 0 0 4px var(--gold); }
.circle__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .5s var(--ease); }
.circle:hover .circle__media img { transform: scale(1.05); }
.circle .cat-ph span { display: none; }
.circle__name { display: block; margin-top: 12px; font-size: 15px; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; transition: color .18s var(--ease); }
.circle:hover .circle__name { color: var(--gold-text); }
.circle__meta { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.circle.is-soon .circle__media img { opacity: .5; }
.circle.is-soon .circle__name { color: var(--muted); font-weight: 400; }


@media (max-width: 1100px) {
	.cat-band { min-height: 216px; }
	.cat-band__inner { padding: 0 32px 24px; }
	.cat-band__title { font-size: 38px; }
	.cat-rail__list { grid-auto-columns: calc((100% - 2 * 16px) / 3); }
	.cat-rail { margin-bottom: 56px; }
	.rail-card__name { font-size: 18px; }
	.cat-type.has-list, .cat-type.has-many { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 0 32px; }
	.cat-type.has-list:not(.has-many) { grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: 0 40px; }
	.cat-type__title { font-size: 52px; }
	.cat-type__list.is-many ul { column-gap: 24px; }
}

@media (max-width: 720px) {
	/* Telefonda görsel bant yok: sayfa yolu, başlık, ürün sayısı sade akar. */
	.cat-band { display: block; min-height: 0; margin: 0 0 24px; border-radius: 0; background: none; color: inherit; overflow: visible; }
	.cat-band__media, .cat-band::after { display: none; }
	.cat-band__inner { display: block; padding: 0; }
	.cat-band .pd-crumbs { padding: 16px 0; color: var(--muted); text-shadow: none; }
	.cat-band .pd-crumbs li + li::before { color: var(--line-strong); }
	.cat-band .pd-crumbs a:hover { color: var(--ink); }
	.cat-band .pd-crumbs [aria-current] { color: var(--ink); }
	.cat-band__head { display: block; padding-top: 0; }
	.cat-band__title { font-size: 30px; color: var(--ink); text-shadow: none; }
	.cat-band__count { margin-top: 12px; color: var(--muted); text-shadow: none; }
	.cat-v2 .cat-desc { margin: -8px 0 24px; font-size: 15px; }
	.cat-rail { margin: 0 calc(var(--gutter) * -1) 40px 0; }
	.cat-rail__head { margin-bottom: 14px; padding-right: var(--gutter); }
	.cat-rail__title { font-size: 20px; }
	.cat-rail__nav { display: none; }
	.cat-rail__list { grid-auto-columns: 200px; gap: 12px; padding-right: var(--gutter); scroll-snap-type: x proximity; }
	.rail-card { border-radius: 16px; }
	.rail-card__body { padding: 14px; }
	.rail-card__name { font-size: 17px; }
	.rail-card__go { width: 34px; height: 34px; }
	.cat-v2 .shop-chips { margin-top: 0; }

	.cat-type, .cat-type.has-list, .cat-type.has-many { display: block; margin: 0 0 24px; padding-bottom: 0; }
	.cat-type .pd-crumbs { padding: 16px 0; }
	.cat-type__title { font-size: 34px; }
	.cat-type__count { margin-top: 12px; font-size: 14px; }
	.cat-type__desc { font-size: 15px; }
	.cat-type__list.is-kids { display: none; }
	.cat-type__list.is-sibs { margin: 20px calc(var(--gutter) * -1) 0 0; }
	.cat-type__list-title { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.cat-type__list.is-sibs ul, .cat-type__list.is-sibs.is-many ul { display: flex; gap: 8px; padding-right: var(--gutter); overflow-x: auto; border-bottom: 0; scrollbar-width: none; }
	.cat-type__list.is-sibs ul::-webkit-scrollbar { display: none; }
	.cat-type__list.is-sibs li { flex: none; }
	.cat-type__list.is-sibs a { min-height: 44px; padding: 0 18px; align-items: center; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; font-weight: 500; }
	.cat-type__list.is-sibs a.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
	.cat-type__list.is-sibs .cat-type__name::before { display: none; }
	.cat-type__list.is-sibs .cat-type__num { display: none; }
	.cat-circles { margin: 0 calc(var(--gutter) * -1) 32px 0; }
	.cat-circles ul { gap: 18px; margin: 0; padding: 8px var(--gutter) 10px 0; }
	.cat-circles li { width: 88px; }
	.circle__media { width: 88px; }
	.circle__name { margin-top: 10px; font-size: 13px; }
}
