/**
 * PunkyCat — Account Entry (Giriş Yap / Hesap Oluştur)
 *
 * Sadece WooCommerce my-account sayfasında, kullanıcı OTURUM AÇMAMIŞ
 * iken (`body.pc-account-auth`) yüklenir. Page.php'nin ortak `pc-card`
 * wrapper'ını nötralize eder ve Mango/PunkyCat tarzı tek-formlu, sade
 * bir auth deneyimi basar:
 *
 *   - `/hesabim/`                         → GİRİŞ YAP formu (image 4)
 *   - `/hesabim/?action=register`         → HESAP OLUŞTUR formu (image 5)
 *
 * Her iki view de tek bir merkez kart içinde tek formlu olarak görünür;
 * yan yana iki panel (eski layout) artık yoktur. Login sonrası WC default
 * dashboard görünümüne geçer (bu phase'in kapsamı dışındadır).
 *
 * MİMARİ NOTLAR
 *  - Bu CSS sadece account auth deneyimine ait sınıfları tanımlar; theme'in
 *    geri kalanına (PLP/PDP/cart/checkout) etki etmemesi için tüm kurallar
 *    `body.pc-account-auth` veya `.pc-account` kapsamı altındadır.
 *  - WooCommerce'in default `.woocommerce-form-row`, `.form-row`, `.input-text`
 *    sınıfları görünmüyor — kendi `.pc-field`, `.pc-field__input` set'imizi
 *    kullanıyoruz. Yine de WC'nin notice çıktıları (.woocommerce-notices-wrapper,
 *    .woocommerce-message, .woocommerce-error) burada üst tarafa basılır
 *    ve account-tema'sıyla uyumlu render edilir.
 */

/* ---------- Sayfa kabuğu nötralize ---------- */
/* page.php'nin <article class="pc-card pc-stack"> wrapper'ı tüm account
 * deneyimi (auth + hub + subpage) için bordür/padding/shadow ve container
 * max-width açısından nötralize edilir. İçerik kendi `.pc-account` veya
 * `.pc-account-shell` kabuğunu kullanır. */
body.pc-account-auth .pc-site__main,
body.pc-account-area .pc-site__main{
	padding-top: 0;
	padding-bottom: 0;
	background: var(--pc-surface);
}
body.pc-account-auth .pc-site__main > .pc-container,
body.pc-account-area .pc-site__main > .pc-container{
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}
body.pc-account-auth .pc-site__main > .pc-container > .pc-stack,
body.pc-account-area .pc-site__main > .pc-container > .pc-stack{
	gap: 0;
}
body.pc-account-auth .pc-site__main article.pc-card,
body.pc-account-area .pc-site__main article.pc-card{
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
}
body.pc-account-auth .pc-site__main article.pc-card > header,
body.pc-account-area .pc-site__main article.pc-card > header{
	display: none;
}

/* ---------- Account kabuğu ---------- */
.pc-account{
	display: block;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px) clamp(48px, 8vw, 96px);
	color: var(--pc-fg);
}

/* ---------- WC notices (login/register hata + başarı mesajları) ---------- */
body.pc-account-auth .woocommerce-notices-wrapper:empty{
	display: none;
}
body.pc-account-auth .pc-site__main .woocommerce-notices-wrapper{
	max-width: 480px;
	margin: 0 auto;
	padding: clamp(16px, 3vw, 24px) clamp(20px, 4vw, 40px) 0;
}
body.pc-account-auth .woocommerce-message,
body.pc-account-auth .woocommerce-error,
body.pc-account-auth .woocommerce-info,
body.pc-account-auth .woocommerce-notice{
	list-style: none;
	margin: 0 0 var(--pc-s-3) 0;
	padding: 12px 16px;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius-md);
	background: var(--pc-surface);
	font-size: var(--pc-text-sm);
	line-height: 1.55;
	box-shadow: var(--pc-shadow-1);
}
body.pc-account-auth .woocommerce-error{
	border-color: rgba(185, 28, 28, 0.45);
	background: rgba(185, 28, 28, 0.06);
	color: var(--pc-danger);
}
body.pc-account-auth .woocommerce-message{
	border-color: rgba(15, 118, 110, 0.40);
	background: rgba(15, 118, 110, 0.05);
	color: var(--pc-success);
}
body.pc-account-auth .woocommerce-info{
	border-color: var(--pc-accent-border-soft);
	background: var(--pc-accent-weak);
	color: var(--pc-fg);
}
body.pc-account-auth .woocommerce-error li,
body.pc-account-auth .woocommerce-message li,
body.pc-account-auth .woocommerce-info li{
	list-style: none;
	margin: 0;
}

/* ---------- Card (tek form) ---------- */
.pc-account__card{
	display: grid;
	gap: clamp(20px, 3vw, 28px);
}
.pc-account__panel-head{
	display: grid;
	gap: 6px;
	margin: 0 0 var(--pc-s-2);
}
.pc-account__panel-title{
	margin: 0;
	font-size: var(--pc-text-md);
	font-weight: var(--pc-font-weight-heavy);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pc-fg);
	line-height: 1.3;
}

/* ---------- Form ---------- */
.pc-account__form{
	display: grid;
	gap: var(--pc-s-3);
	margin: 0;
}
.pc-field{
	display: grid;
	gap: 6px;
	position: relative;
}
.pc-field__label{
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	font-size: var(--pc-text-xs);
	font-weight: var(--pc-font-weight-heavy);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pc-text-secondary);
}
.pc-field__req{
	color: var(--pc-accent);
	font-weight: var(--pc-font-weight-heavy);
}
.pc-field__opt{
	color: var(--pc-text-tertiary);
	font-weight: var(--pc-font-weight-medium);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.6875rem;
	margin-left: 4px;
}
.pc-field__input{
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid var(--pc-border);
	border-radius: 6px;
	background: var(--pc-surface);
	font-family: inherit;
	font-size: var(--pc-text-md);
	color: var(--pc-fg);
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.pc-field__input::placeholder{
	color: var(--pc-placeholder);
}
.pc-field__input:hover{
	border-color: rgba(17, 17, 17, 0.36);
}
.pc-field__input:focus{
	outline: none;
	border-color: var(--pc-fg);
	background: var(--pc-surface);
	box-shadow: none;
}
.pc-field__input:disabled{
	background: var(--pc-surface-2);
	color: var(--pc-text-tertiary);
	cursor: not-allowed;
}
/* HTML5 :invalid ekranda anında dönmesin diye user-invalid kullanırız —
 * sadece kullanıcı submit'e bastıktan veya alanı bırakıp dokunduktan
 * sonra hata stili verilir. */
.pc-field__input:user-invalid:not(:placeholder-shown){
	border-color: rgba(185, 28, 28, 0.55);
	box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.10);
}
.pc-field__hint{
	margin: 4px 0 0;
	font-size: var(--pc-text-2xs);
	color: var(--pc-text-tertiary);
	line-height: 1.45;
}

/* ---------- Password field with eye toggle ---------- */
.pc-field--password{
	position: relative;
}
.pc-field--password .pc-field__input{
	padding-right: 48px;
}
.pc-field__eye{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: var(--pc-radius-pill);
	color: var(--pc-text-tertiary);
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease;
}
.pc-field__eye:hover{
	color: var(--pc-fg);
	background: var(--pc-surface-2);
}
.pc-field__eye:focus-visible{
	outline: none;
	color: var(--pc-fg);
	box-shadow: var(--pc-focus-ring);
}
.pc-field__eye-icon--hide{
	display: none;
}
.pc-field__eye[aria-pressed="true"] .pc-field__eye-icon--show{
	display: none;
}
.pc-field__eye[aria-pressed="true"] .pc-field__eye-icon--hide{
	display: inline-block;
}

/* ---------- Phone field with country code (+90) ---------- */
.pc-field--phone{
	display: grid;
	gap: 6px;
}
.pc-field__phone-row{
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 8px;
	align-items: stretch;
}
.pc-field__phone-cc{
	min-height: 52px;
	padding: 14px 12px;
	border: 1px solid var(--pc-border);
	border-radius: 6px;
	background: var(--pc-surface);
	font-family: inherit;
	font-size: var(--pc-text-md);
	color: var(--pc-fg);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23111' d='M1 1l5 5 5-5'/></svg>");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 10px;
	padding-right: 28px;
	box-sizing: border-box;
}
.pc-field__phone-cc:focus{
	outline: none;
	border-color: var(--pc-fg);
}
.pc-field__phone-input{
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid var(--pc-border);
	border-radius: 6px;
	background: var(--pc-surface);
	font-family: inherit;
	font-size: var(--pc-text-md);
	color: var(--pc-fg);
	box-sizing: border-box;
	width: 100%;
	transition: border-color 0.15s ease;
}
.pc-field__phone-input::placeholder{
	color: var(--pc-placeholder);
}
.pc-field__phone-input:hover{
	border-color: rgba(17, 17, 17, 0.36);
}
.pc-field__phone-input:focus{
	outline: none;
	border-color: var(--pc-fg);
}

/* ---------- Remember me / row utility ---------- */
.pc-account__row{
	display: flex;
	align-items: center;
	gap: var(--pc-s-3);
	flex-wrap: wrap;
}
.pc-account__row--between{
	justify-content: space-between;
}
.pc-account__remember{
	margin: 4px 0 0;
}

/* ---------- Checkbox (remember me + KVKK) ---------- */
.pc-check{
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	user-select: none;
	font-size: var(--pc-text-sm);
	line-height: 1.45;
	color: var(--pc-text-secondary);
}
.pc-check__input{
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	accent-color: var(--pc-fg);
	cursor: pointer;
}
.pc-check__label{
	flex: 1 1 auto;
	color: var(--pc-fg);
}
.pc-check__label a{
	color: var(--pc-fg);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Submit / Action stack ---------- */
.pc-account__actions{
	display: grid;
	gap: 12px;
	margin-top: var(--pc-s-2);
}
.pc-account__submit{
	width: 100%;
	min-height: 52px;
	padding: 14px 22px;
	font-size: var(--pc-text-sm);
	font-weight: var(--pc-font-weight-heavy);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: 4px;
}
.pc-account .pc-btn--primary,
.pc-account__submit.pc-btn--primary{
	background: #111;
	border-color: #111;
	color: #fff;
	border-radius: 4px;
}
.pc-account .pc-btn--primary:hover{
	background: #000;
	border-color: #000;
}
.pc-account .pc-btn--secondary,
.pc-account__submit.pc-btn--secondary{
	background: #fff;
	border: 1px solid #111;
	color: #111;
	border-radius: 4px;
}
.pc-account .pc-btn--secondary:hover{
	background: #f5f5f5;
}
.pc-account__submit--switch{
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Lost password link (login alt) ---------- */
.pc-account__lostlink{
	margin: var(--pc-s-2) 0 0;
	font-size: var(--pc-text-xs);
	font-weight: var(--pc-font-weight-heavy);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.pc-account__lostlink a{
	color: var(--pc-fg);
	text-decoration: none;
	border-bottom: 1px solid var(--pc-fg);
	padding-bottom: 1px;
}
.pc-account__lostlink a:hover{
	color: var(--pc-text-secondary);
	border-bottom-color: var(--pc-text-secondary);
}

/* ---------- Cross-link (register → login geçiş paragrafı) ---------- */
.pc-account__cross{
	margin: var(--pc-s-3) 0 0;
	padding-top: var(--pc-s-3);
	border-top: 1px solid var(--pc-border);
	font-size: var(--pc-text-sm);
	color: var(--pc-text-secondary);
	text-align: center;
}
.pc-account__cross-link{
	font-weight: var(--pc-font-weight-heavy);
	color: var(--pc-fg);
	text-decoration: underline;
	text-underline-offset: 3px;
	margin-left: 6px;
}

/* ---------- KVKK / sözleşme onay bloğu ----------
 * IMPORTANT: Bu blok GEÇİCİ bir UI kopyasıdır. Final KVKK / aydınlatma
 * metni ve mesafeli satış sözleşmesi linkleri sonraki phase'de
 * eklenecek. Şimdilik sade tek satır checkbox + kısa metin basılır;
 * validasyon functions.php tarafında zorunlu (`woocommerce_register_post`).
 */
.pc-account__legal{
	margin-top: var(--pc-s-1);
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
.pc-account__legal .pc-check{
	font-size: var(--pc-text-sm);
	line-height: 1.5;
	color: var(--pc-fg);
}
.pc-account__legal .pc-check__label{
	color: var(--pc-fg);
	font-size: var(--pc-text-sm);
	font-weight: var(--pc-font-weight-medium);
	line-height: 1.5;
}

/* ---------- Responsive (auth) ---------- */
@media (max-width: 480px){
	.pc-account{
		padding: clamp(24px, 6vw, 48px) clamp(20px, 5vw, 32px) clamp(40px, 10vw, 64px);
	}
	.pc-account__panel-title{
		font-size: var(--pc-text-sm);
	}
	.pc-field__phone-row{
		grid-template-columns: 88px 1fr;
	}
}

/* ================================================================ *
 *  HESABIM HUB (logged-in landing) + SUBPAGE LAYOUT
 * ----------------------------------------------------------------
 *  Login sonrası /hesabim/ → premium "Mango-tarzı" hub: greeting +
 *  nav rows. Subpage'lerde (orders, edit-account, …) sol sidebar
 *  + içerik split layout. Tüm kurallar `body.pc-account-area`
 *  kapsamı altında — theme'in geri kalanı etkilenmez.
 * ================================================================ */

/* ---------- Shell wrapper ---------- */
body.pc-account-area .pc-site__main{
	background: var(--pc-bg, #fbfbfd);
}
body.pc-account-area .woocommerce{
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
.pc-account-shell{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 96px);
	box-sizing: border-box;
}
/* Hub: full-width centered, no sidebar */
.pc-account-shell--hub{
	max-width: 720px;
}
.pc-account-shell--hub .pc-account-shell__content{
	border: 0;
	padding: 0;
	background: transparent;
}
/* Subpage: sidebar + content split */
.pc-account-shell--sub{
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(24px, 3vw, 40px);
	align-items: start;
}

/* ---------- Sidebar nav (subpage only) ---------- */
body.pc-account-area .pc-account-nav{
	display: block;
	margin: 0;
	padding: 0;
	float: none;
	max-width: none;
}
body.pc-account-area .pc-account-nav ul{
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	display: grid;
	gap: 2px;
}
body.pc-account-area .pc-account-nav__item{
	margin: 0;
	padding: 0;
	list-style: none;
}
body.pc-account-area .pc-account-nav__link{
	display: block;
	padding: 12px 14px;
	border-radius: 8px;
	color: var(--pc-fg);
	font-size: var(--pc-text-sm);
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	background: transparent;
	border: 1px solid transparent;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
body.pc-account-area .pc-account-nav__link:hover{
	background: var(--pc-surface);
	border-color: var(--pc-border);
}
body.pc-account-area .pc-account-nav__item.is-active .pc-account-nav__link{
	background: var(--pc-fg);
	color: var(--pc-on-fg, #ffffff);
	border-color: var(--pc-fg);
}
body.pc-account-area .pc-account-nav__item--logout .pc-account-nav__link{
	color: var(--pc-muted, #6b6b77);
}

/* ---------- Subpage content kartı ---------- */
.pc-account-shell--sub .pc-account-shell__content{
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: 14px;
	padding: clamp(20px, 3vw, 32px);
	min-width: 0;
}

/* WC default order tablosu zaten core CSS tarafından gizleniyor;
 * panel kart içinde nefes alsın diye padding'i sıfırlamıyoruz. */

/* ---------- Hesabım Hub ---------- */
.pc-account-hub{
	display: grid;
	gap: clamp(28px, 4vw, 44px);
}
.pc-account-hub__header{
	display: grid;
	gap: 10px;
	text-align: left;
}
.pc-account-hub__greeting{
	margin: 0;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 300;
	letter-spacing: -0.01em;
	line-height: 1.15;
	color: var(--pc-fg);
}
.pc-account-hub__subtitle{
	margin: 0;
	font-size: var(--pc-text-md, 15px);
	line-height: 1.55;
	color: var(--pc-muted, #6b6b77);
	max-width: 56ch;
}

/* Nav rows: temiz liste (ilk satırın üstünde, son satırın altında
 * tam genişlik border) — minimal Mango feel. */
.pc-account-hub__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid var(--pc-border);
}
.pc-account-hub__item{
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--pc-border);
}
.pc-account-hub__row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 4px;
	color: var(--pc-fg);
	text-decoration: none;
	font-size: var(--pc-text-md, 15px);
	font-weight: 500;
	letter-spacing: 0.01em;
	transition: color .18s ease, padding-left .18s ease;
}
.pc-account-hub__row:hover,
.pc-account-hub__row:focus-visible{
	color: var(--pc-fg);
	padding-left: 8px;
	outline: none;
}
.pc-account-hub__row-label{
	display: inline-block;
}
.pc-account-hub__row-arrow{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--pc-muted, #6b6b77);
	transition: transform .18s ease, color .18s ease;
}
.pc-account-hub__row:hover .pc-account-hub__row-arrow,
.pc-account-hub__row:focus-visible .pc-account-hub__row-arrow{
	transform: translateX(4px);
	color: var(--pc-fg);
}
.pc-account-hub__row--logout{
	color: var(--pc-muted, #6b6b77);
}
.pc-account-hub__row--logout:hover,
.pc-account-hub__row--logout:focus-visible{
	color: var(--pc-fg);
}

/* ---------- Notices (logged-in account) ---------- */
body.pc-account-area .pc-site__main .woocommerce-notices-wrapper{
	max-width: 1080px;
	margin: 0 auto;
	padding: clamp(16px, 3vw, 24px) clamp(20px, 4vw, 40px) 0;
}
body.pc-account-area .pc-site__main .woocommerce-notices-wrapper:empty{
	display: none;
	padding: 0;
}
body.pc-account-area .woocommerce-message,
body.pc-account-area .woocommerce-error,
body.pc-account-area .woocommerce-info,
body.pc-account-area .woocommerce-notice{
	list-style: none;
	margin: 0 0 var(--pc-s-3) 0;
	padding: 12px 16px;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius-md);
	background: var(--pc-surface);
	font-size: var(--pc-text-sm);
	line-height: 1.55;
}
body.pc-account-area .woocommerce-error{
	border-color: rgba(185, 28, 28, 0.45);
	background: rgba(185, 28, 28, 0.06);
	color: var(--pc-danger);
}
body.pc-account-area .woocommerce-message{
	border-color: rgba(15, 118, 110, 0.40);
	background: rgba(15, 118, 110, 0.05);
	color: var(--pc-success);
}

/* ---------- İadelerim placeholder ---------- */
.pc-account-empty{
	display: grid;
	gap: 16px;
	padding: clamp(24px, 4vw, 40px) 0;
	max-width: 56ch;
}
.pc-account-empty__title{
	margin: 0;
	font-size: clamp(20px, 2.6vw, 26px);
	font-weight: 600;
	letter-spacing: -0.005em;
}
.pc-account-empty__text{
	margin: 0;
	color: var(--pc-muted, #6b6b77);
	font-size: var(--pc-text-md, 15px);
	line-height: 1.6;
}
.pc-account-empty__cta{
	margin: 8px 0 0;
}

/* ---------- Subpage'lerde core panel'lerle uyum ---------- */
/* punkycat-core orders panel & order detail header zaten kendi
 * stilleriyle (frontend-account-ui.css) geliyor. Subpage kartının
 * içine girdiğinde dış padding bizimki, iç padding 0 — çift padding
 * hissini engellemek için core panel'in margin-top'unu küçültüyoruz. */
.pc-account-shell--sub .pc-account-shell__content > .punkycat-orders-panel,
.pc-account-shell--sub .pc-account-shell__content > .punkycat-account-overview,
.pc-account-shell--sub .pc-account-shell__content > .punkycat-order-detail-header{
	margin-top: 0;
}

/* WC edit-account / address form'larının subpage kartı içinde başlıkları
 * için tutarlı tipografi. */
.pc-account-shell--sub .pc-account-shell__content h1,
.pc-account-shell--sub .pc-account-shell__content h2,
.pc-account-shell--sub .pc-account-shell__content h3:first-child{
	margin-top: 0;
}

/* ---------- Responsive (hub + subpage) ---------- */
@media (max-width: 991px){
	.pc-account-shell--sub{
		grid-template-columns: 1fr;
		gap: 20px;
	}
	body.pc-account-area .pc-account-nav ul{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
	body.pc-account-area .pc-account-nav__item{
		min-width: 0;
	}
	body.pc-account-area .pc-account-nav__link{
		text-align: center;
		padding: 10px 12px;
	}
}
@media (max-width: 640px){
	.pc-account-shell{
		padding-left: 16px;
		padding-right: 16px;
	}
	.pc-account-hub__greeting{
		font-size: clamp(24px, 7vw, 32px);
	}
	.pc-account-hub__row{
		padding: 16px 2px;
		font-size: var(--pc-text-sm, 14px);
	}
	body.pc-account-area .pc-account-nav ul{
		grid-template-columns: 1fr;
	}
	.pc-account-shell--sub .pc-account-shell__content{
		padding: 16px;
		border-radius: 12px;
	}
}

/* ================================================================ *
 *  ADRES BİLGİLERİM — single-form premium layout
 * ----------------------------------------------------------------
 *  Hesabım > Adres Bilgilerim subpage'inde (`body.pc-account-sub--edit-address`)
 *  WC default iki kart yerine TEK formlu, dar (480-520px), merkezli
 *  bir form basılır. Sidebar nav sol tarafta kalır; form içerik
 *  kartının içinde kendi merkez hizalamasını yapar.
 *
 *  Field düzeni:
 *   - Tüm input'lar tam genişlik (form-row-wide eşdeğeri).
 *   - Label input'un üstünde kompakt (12px, muted), input içinde
 *     placeholder büyük metin gibi davranır.
 *   - Select'ler kendi chevron'ı ile renderlanır (.pc-addr-field__chevron).
 *   - Fatura türü iki butonlu radio toggle (Şahıs / Şirket).
 *   - "Adresi kaydet" siyah, geniş, full-width CTA.
 * ================================================================ */
.pc-address-form-wrap{
	max-width: 520px;
	margin: 0 auto;
	padding: clamp(8px, 2vw, 16px) 0 32px;
	color: var(--pc-fg);
}
body.pc-account-sub--edit-address .pc-account-shell__content{
	padding: clamp(24px, 4vw, 48px) clamp(20px, 4vw, 56px);
}

.pc-address-form__header{
	text-align: center;
	margin: 0 0 28px;
}
.pc-address-form__title{
	margin: 0 0 12px;
	font-size: clamp(15px, 1.6vw, 17px);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-fg);
}
.pc-address-form__subtitle{
	margin: 0 auto;
	max-width: 44ch;
	font-size: var(--pc-text-sm, 14px);
	line-height: 1.55;
	color: var(--pc-muted, #6b6b77);
}

/* ---------- Form layout ---------- */
.pc-address-form{
	display: grid;
	gap: 14px;
}

/* ---------- Field wrapper ---------- */
.pc-addr-field{
	position: relative;
	display: block;
}

.pc-addr-field__label{
	position: absolute;
	top: 8px;
	left: 14px;
	margin: 0;
	pointer-events: none;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-muted, #8a8a96);
	opacity: 0;
	transition: opacity .15s ease;
	z-index: 2;
}
.pc-addr-field__label-text{ display: inline-block; }

/* Label görünür durumlar: input dolu (placeholder gizli) ya da focus'ta */
.pc-addr-field--country_static .pc-addr-field__label,
.pc-addr-field:focus-within .pc-addr-field__label,
.pc-addr-field.has-value .pc-addr-field__label,
.pc-addr-field:has(.pc-addr-field__input:not(:placeholder-shown)) .pc-addr-field__label{
	opacity: 1;
}
/* Input dolu ise placeholder offset'ini koru (üst padding'i artır) */
.pc-addr-field:has(.pc-addr-field__input:not(:placeholder-shown)) .pc-addr-field__input,
.pc-addr-field:focus-within .pc-addr-field__input{
	padding-top: 22px;
	padding-bottom: 6px;
}

.pc-addr-field__control{
	position: relative;
}
.pc-addr-field__control--select{
	display: block;
}

.pc-addr-field__input{
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 14px 16px 12px;
	font: inherit;
	font-size: var(--pc-text-md, 15px);
	line-height: 1.4;
	color: var(--pc-fg);
	background: var(--pc-surface, #fff);
	border: 1px solid var(--pc-border, #e1e1e8);
	border-radius: var(--pc-radius-md, 6px);
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pc-addr-field__input::placeholder{
	color: var(--pc-muted, #8a8a96);
	opacity: 1;
}
.pc-addr-field__input:focus{
	outline: none;
	border-color: var(--pc-fg, #111);
	box-shadow: 0 0 0 1px var(--pc-fg, #111);
}

/* Select chevron pozisyonu */
.pc-addr-field__select{
	padding-right: 40px;
	background-image: none;
	cursor: pointer;
}
.pc-addr-field__select:disabled{
	color: var(--pc-muted, #8a8a96);
	background: rgba(0,0,0,0.02);
	cursor: not-allowed;
}
.pc-addr-field__chevron{
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	color: var(--pc-muted, #6b6b77);
	pointer-events: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Label hep gözüksün diye select'lerde control top padding artır */
.pc-addr-field--select .pc-addr-field__select{
	padding-top: 22px;
	padding-bottom: 6px;
}
.pc-addr-field--select .pc-addr-field__label{
	opacity: 1;
}

/* Ülke statik (read-only) gösterim */
.pc-addr-field--country_static .pc-addr-field__static{
	display: block;
	min-height: 50px;
	padding: 8px 16px 8px;
	border: 1px solid var(--pc-border, #e1e1e8);
	border-radius: var(--pc-radius-md, 6px);
	background: var(--pc-surface, #fff);
	color: var(--pc-fg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pc-addr-field--country_static .pc-addr-field__static-label{
	display: block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-muted, #8a8a96);
	margin-bottom: 2px;
}
.pc-addr-field--country_static .pc-addr-field__static-value{
	font-size: var(--pc-text-md, 15px);
	color: var(--pc-fg);
}
.pc-addr-field--country_static .pc-addr-field__label{ display: none; }

/* ---------- Fatura türü ---------- */
.pc-addr-invoice{
	border: 0;
	margin: 16px 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
}
.pc-addr-invoice__title{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--pc-fg);
	padding: 0;
	margin: 4px 0 4px;
}
.pc-addr-invoice__toggle{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.pc-addr-invoice__option{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--pc-border, #e1e1e8);
	border-radius: var(--pc-radius-md, 6px);
	background: var(--pc-surface, #fff);
	cursor: pointer;
	font-size: var(--pc-text-sm, 14px);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pc-fg);
	transition: border-color .15s ease, color .15s ease, background .15s ease, box-shadow .15s ease;
	user-select: none;
}
.pc-addr-invoice__radio{
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}
.pc-addr-invoice__option:hover{
	border-color: var(--pc-fg, #111);
}
.pc-addr-invoice__option.is-active{
	border-color: var(--pc-fg, #111);
	box-shadow: inset 0 0 0 1px var(--pc-fg, #111);
}
.pc-addr-invoice__option:focus-within{
	outline: 2px solid var(--pc-fg, #111);
	outline-offset: 2px;
}

/* ---------- Footnote ---------- */
.pc-addr-form__footnote{
	margin: 8px 0 0;
	text-align: center;
	font-size: var(--pc-text-sm, 13px);
	line-height: 1.55;
	color: var(--pc-muted, #6b6b77);
}

/* ---------- Submit ---------- */
.pc-addr-form__actions{
	margin: 18px 0 0;
}
.pc-addr-form__submit{
	display: block;
	width: 100%;
	padding: 16px 18px;
	font-size: var(--pc-text-sm, 14px);
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: #fff;
	background: var(--pc-fg, #111);
	border: 1px solid var(--pc-fg, #111);
	border-radius: var(--pc-radius-md, 6px);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.pc-addr-form__submit:hover,
.pc-addr-form__submit:focus-visible{
	background: #000;
	border-color: #000;
	outline: none;
}
.pc-addr-form__submit:focus-visible{
	box-shadow: 0 0 0 3px rgba(0,0,0,0.18);
}

/* ---------- Edit-address subpage'inde dış başlık gizle ---------- */
/* WC core, address subpage'de "Edit billing address" tarzı bir h2
 * basabilir; bizim form kendi başlığını rendaerlıyor — çift başlığı
 * önlemek için subpage scope'unda diğer h2/h3 başlıklarını gizliyoruz
 * (sadece ilk-ilk-direct-child h2 — formun içinde değil). */
body.pc-account-sub--edit-address .pc-account-shell__content > h1,
body.pc-account-sub--edit-address .pc-account-shell__content > h2,
body.pc-account-sub--edit-address .pc-account-shell__content > h3{
	display: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px){
	.pc-address-form-wrap{
		padding: 8px 4px 24px;
	}
	body.pc-account-sub--edit-address .pc-account-shell__content{
		padding: 16px;
	}
	.pc-addr-invoice__toggle{
		grid-template-columns: 1fr 1fr;
	}
	.pc-addr-field__input{
		min-height: 48px;
		padding: 12px 14px 10px;
	}
	.pc-addr-field--select .pc-addr-field__select{
		padding-top: 20px;
		padding-bottom: 6px;
	}
	.pc-addr-form__submit{
		padding: 14px 16px;
		font-size: 13px;
	}
}

/* ================================================================ *
 *  FOCUS MODE — odaklanmış detay/edit ekranı (sidebar gizli)
 * ----------------------------------------------------------------
 *  Kullanım: `body.pc-account-focus` (edit-address, edit-account).
 *  `pc-account-shell--focus` shell sidebar'ı kaldırır, içerik orta
 *  hizalı + ferah açılır. Üstte "← Hesabım" geri linki bulunur.
 * ================================================================ */
.pc-account-shell--focus{
	display: block;
	max-width: 760px;
	margin: 0 auto;
}
.pc-account-shell--focus .pc-account-shell__content{
	border: 0;
	background: transparent;
	padding: clamp(8px, 2vw, 16px) 0 clamp(40px, 6vw, 64px);
}

/* Edit-address focus: form kendi merkezini koruyor ama padding'i
 * azaltıyoruz (subpage card padding'i artık yok). */
body.pc-account-focus--edit-address .pc-account-shell__content{
	padding: clamp(8px, 2vw, 16px) 0 clamp(40px, 6vw, 64px);
}

/* "← Hesabım" geri linki */
.pc-account-back{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 24px;
	padding: 8px 4px;
	font-size: var(--pc-text-sm, 13px);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--pc-muted, #6b6b77);
	text-decoration: none;
	transition: color .15s ease;
}
.pc-account-back:hover,
.pc-account-back:focus-visible{
	color: var(--pc-fg, #111);
	outline: none;
}
.pc-account-back__icon{
	display: inline-flex;
	align-items: center;
}

/* ================================================================ *
 *  KULLANICI BİLGİLERİM — summary + section-edit
 * ----------------------------------------------------------------
 *  body.pc-account-focus--edit-account scope'unda render edilen
 *  iki state:
 *    1) Summary list (Ad / E-posta / Cep telefonu / Şifre satırları)
 *    2) Section edit panel (profile / phone / password)
 * ================================================================ */
.pc-account-info{
	max-width: 560px;
	margin: 0 auto;
	color: var(--pc-fg);
}

.pc-account-info__header{
	text-align: center;
	margin: 0 0 28px;
}
.pc-account-info__title{
	margin: 0 0 12px;
	font-size: clamp(15px, 1.6vw, 17px);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-fg);
}
.pc-account-info__subtitle{
	margin: 0 auto;
	max-width: 48ch;
	font-size: var(--pc-text-sm, 14px);
	line-height: 1.55;
	color: var(--pc-muted, #6b6b77);
}

/* ---------- Summary list ---------- */
.pc-account-info__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid var(--pc-border, #e1e1e8);
}
.pc-account-info__row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 4px;
	border-bottom: 1px solid var(--pc-border, #e1e1e8);
}
.pc-account-info__row-main{
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	flex: 1 1 auto;
}
.pc-account-info__row-label{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--pc-muted, #8a8a96);
}
.pc-account-info__row-value{
	font-size: var(--pc-text-md, 15px);
	color: var(--pc-fg, #111);
	overflow-wrap: anywhere;
}
.pc-account-info__row-value--mask{
	letter-spacing: 0.18em;
	color: var(--pc-fg, #111);
}
.pc-account-info__empty{
	font-style: normal;
	color: var(--pc-muted, #8a8a96);
}
.pc-account-info__row-action{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	padding: 6px 8px;
	margin-right: -8px;
	font-size: var(--pc-text-sm, 13px);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--pc-fg, #111);
	text-decoration: none;
	border-radius: 6px;
	transition: color .15s ease, background .15s ease;
}
.pc-account-info__row-action:hover,
.pc-account-info__row-action:focus-visible{
	background: rgba(0,0,0,0.04);
	color: var(--pc-fg, #111);
	outline: none;
}

/* ---------- Edit panel ---------- */
.pc-account-info-form{
	display: block;
}
.pc-account-info-form__panel{
	border-top: 1px solid var(--pc-border, #e1e1e8);
	padding: 28px 0 4px;
}
.pc-account-info-form__panel-title{
	margin: 0 0 6px;
	font-size: clamp(17px, 1.8vw, 20px);
	font-weight: 600;
	letter-spacing: -0.005em;
	color: var(--pc-fg);
}
.pc-account-info-form__panel-desc{
	margin: 0 0 20px;
	font-size: var(--pc-text-sm, 14px);
	line-height: 1.55;
	color: var(--pc-muted, #6b6b77);
}

.pc-account-info-form__field{
	margin: 0 0 14px;
}
.pc-account-info-form__field:last-of-type{
	margin-bottom: 4px;
}
.pc-account-info-form__label{
	display: block;
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--pc-muted, #8a8a96);
}
.pc-account-info-form__input{
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 14px 16px;
	font: inherit;
	font-size: var(--pc-text-md, 15px);
	line-height: 1.4;
	color: var(--pc-fg);
	background: var(--pc-surface, #fff);
	border: 1px solid var(--pc-border, #e1e1e8);
	border-radius: var(--pc-radius-md, 6px);
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pc-account-info-form__input::placeholder{
	color: var(--pc-muted, #8a8a96);
	opacity: 1;
}
.pc-account-info-form__input:focus{
	outline: none;
	border-color: var(--pc-fg, #111);
	box-shadow: 0 0 0 1px var(--pc-fg, #111);
}

/* ---------- Actions ---------- */
.pc-account-info-form__actions{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin: 24px 0 0;
}
.pc-account-info-form__submit{
	display: block;
	width: 100%;
	padding: 16px 18px;
	font-size: var(--pc-text-sm, 14px);
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: #fff;
	background: var(--pc-fg, #111);
	border: 1px solid var(--pc-fg, #111);
	border-radius: var(--pc-radius-md, 6px);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.pc-account-info-form__submit:hover,
.pc-account-info-form__submit:focus-visible{
	background: #000;
	border-color: #000;
	outline: none;
}
.pc-account-info-form__submit:focus-visible{
	box-shadow: 0 0 0 3px rgba(0,0,0,0.18);
}
.pc-account-info-form__cancel{
	display: inline-block;
	align-self: center;
	padding: 8px 12px;
	font-size: var(--pc-text-sm, 13px);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--pc-muted, #6b6b77);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color .15s ease;
}
.pc-account-info-form__cancel:hover,
.pc-account-info-form__cancel:focus-visible{
	color: var(--pc-fg, #111);
	outline: none;
}

/* WC default password change fieldset legend / visible password fields
 * gizle (override template kendi UI'ını basıyor; do_action hook'larıyla
 * gelen 3rd party field'ları görünür kalsın). */
body.pc-account-focus--edit-account .pc-account-info-form fieldset > legend{
	display: none;
}

/* Edit-account focus subpage başlığı varsa gizle (bizim form kendi
 * başlığını basıyor). */
body.pc-account-focus--edit-account .pc-account-shell__content > h1,
body.pc-account-focus--edit-account .pc-account-shell__content > h2,
body.pc-account-focus--edit-account .pc-account-shell__content > h3{
	display: none;
}

/* ---------- Responsive (focus + edit-account) ---------- */
@media (max-width: 640px){
	.pc-account-shell--focus{
		padding-left: 16px;
		padding-right: 16px;
	}
	.pc-account-info{
		max-width: 100%;
	}
	.pc-account-info__row{
		padding: 18px 2px;
		gap: 12px;
	}
	.pc-account-info__row-action span{
		display: none;
	}
	.pc-account-info-form__input{
		min-height: 48px;
		padding: 12px 14px;
	}
	.pc-account-info-form__submit{
		padding: 14px 16px;
		font-size: 13px;
	}
}
