/* ==========================================================================
   Muditap360 — Mağaza sayfaları
   01 Ortak           05 Sepet            09 Hesabım
   02 Liste           06 Ödeme            10 Responsive
   03 Ürün detay      07 Sipariş onay
   04 Sipariş adımları 08 Giriş / kayıt
   ========================================================================== */

/* 01 — Ortak --------------------------------------------------------------- */

textarea { font: inherit; }
.field textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; font-size: 15px; color: var(--ink); outline: 0; resize: vertical; min-height: 80px; transition: border-color .2s, box-shadow .2s; }
.field textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(91, 75, 255, .12); }
.field input:disabled { background: var(--soft); color: var(--muted); }
.has-error input, .has-error select, .has-error textarea { border-color: var(--coral) !important; box-shadow: 0 0 0 4px rgba(255, 107, 74, .1) !important; }
.field-error { display: flex; align-items: center; gap: 5px; color: #C2410C; font-size: 12.5px; font-weight: 600; }
.card-fields .field-error, .co-card > .field-error { grid-column: 1 / -1; margin-top: -4px; }

.input-icon--prefix .prefix { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 14px; font-weight: 600; color: var(--ink); pointer-events: none; }
.input-icon--prefix input { padding-left: 76px; }
.input-icon--action input { padding-right: 46px; }
.input-icon--action .eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--muted); }
.input-icon--action .eye:hover { background: var(--soft); color: var(--ink); }
.input-icon--action .eye i { position: static; transform: none; }

.check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--text); cursor: pointer; line-height: 1.5; margin-top: 12px; }
.check input { flex-shrink: 0; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--primary); cursor: pointer; }
.check a, .text-link { color: var(--primary); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.check.has-error span { color: #C2410C; }
.text-link { font-size: inherit; padding: 0; }

.status-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--tone-bg); color: var(--tone); white-space: nowrap; }
.status-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-chip.tone-dark { color: #fff; }

.empty-state { text-align: center; padding: 56px 24px; border: 1.5px dashed var(--line); border-radius: var(--r-lg); background: #fff; }
.empty-state > i { font-size: 56px; color: var(--primary); }
.empty-state h2, .empty-state h3 { margin: 12px 0 6px; font-size: 24px; }
.empty-state p { color: var(--muted); }
.empty-state--sm { padding: 40px 20px; }

.section--related .product-grid { margin-top: 0; }
.link-muted { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--muted); }
.link-muted:hover { color: var(--coral); }

/* 02 — Liste --------------------------------------------------------------- */
.list-hero { padding: 28px 0 0; background: linear-gradient(180deg, var(--tone-bg, var(--soft)), #fff 92%); }
.list-hero-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; margin-bottom: 28px; }
.list-hero-copy { display: flex; gap: 20px; align-items: flex-start; max-width: 720px; }
.list-hero-icon { flex-shrink: 0; width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; font-size: 32px; background: #fff; color: var(--tone, var(--primary)); box-shadow: var(--shadow); }
.list-hero .eyebrow { margin-bottom: 6px; color: var(--tone, var(--primary)); }
.list-hero h1 { font-size: clamp(32px, 4.6vw, 54px); margin-bottom: 8px; }
.list-hero p { color: var(--text); margin: 0; font-size: 17px; }
.list-hero-perks { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ink); }
.list-hero-perks li { display: flex; align-items: center; gap: 8px; }
.list-hero-perks i { color: var(--green); }

.cat-pills { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 20px; scrollbar-width: none; }
.cat-pills::-webkit-scrollbar { display: none; }
.cat-pills a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 600; font-size: 14px; color: var(--ink); white-space: nowrap; transition: border-color .2s, background .2s, color .2s; }
.cat-pills a:hover { border-color: var(--ink); }
.cat-pills a i { font-size: 18px; color: var(--primary); }
.cat-pills a span { font-size: 12px; padding: 1px 7px; border-radius: 99px; background: var(--soft); color: var(--muted); }
.cat-pills a.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.cat-pills a.is-active i { color: var(--lime); }
.cat-pills a.is-active span { background: rgba(255, 255, 255, .15); color: #fff; }

.section--list { padding-top: 28px; }
.list-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.list-count { margin: 0; color: var(--muted); }
.list-count strong { color: var(--ink); }
.list-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.select-pill, .toggle-pill { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; color: var(--ink); cursor: pointer; transition: border-color .2s; }
.select-pill:hover, .toggle-pill:hover { border-color: var(--ink); }
.select-pill i { color: var(--primary); font-size: 17px; }
.select-pill select { appearance: none; border: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B1A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right center / 14px no-repeat; padding-right: 20px; font: inherit; color: inherit; outline: 0; cursor: pointer; }
.toggle-pill input { position: absolute; opacity: 0; }
.toggle-pill span { display: inline-flex; align-items: center; gap: 6px; }
.toggle-pill i { color: var(--coral); }
.toggle-pill:has(input:checked) { background: var(--ink); border-color: var(--ink); color: #fff; }
.toggle-pill:has(input:checked) i { color: var(--lime); }
.toggle-pill:has(input:focus-visible), .select-pill:has(select:focus-visible) { outline: 2px solid var(--primary); outline-offset: 2px; }
.clear-filters { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--coral); padding: 0 6px; }

.design-banner { display: flex; align-items: center; gap: 20px; margin-top: 40px; padding: 24px 28px; border-radius: var(--r-lg); background: var(--ink); color: #C9C9DD; transition: transform .3s var(--ease); }
.design-banner:hover { transform: translateY(-3px); }
.design-banner-icon { width: 56px; height: 56px; flex-shrink: 0; border-radius: 18px; display: grid; place-items: center; background: var(--primary); color: #fff; font-size: 30px; }
.design-banner > span:nth-child(2) { flex: 1; }
.design-banner strong { display: block; color: #fff; font-family: var(--f-display); font-size: 21px; }
.design-banner small { font-size: 14px; }
.section--list .seo-text { margin-top: 40px; }

/* 03 — Ürün detay ---------------------------------------------------------- */
.mobile-buy--pdp { display: none; }
.pdp { padding: 28px 0 72px; }
.pdp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.pdp-gallery { position: sticky; top: calc(var(--header-h) + 16px); display: flex; flex-direction: column; gap: 12px; }
.pdp-stage { position: relative; aspect-ratio: 5 / 4; border-radius: var(--r-xl); overflow: hidden; background: var(--soft); }
.pdp-stage > .badge { top: 18px; left: 18px; font-size: 13px; }
.pdp-stage > .fav-btn { top: 14px; right: 14px; width: 44px; height: 44px; font-size: 22px; }
.pdp-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: scale(.98); transition: opacity .45s var(--ease), transform .45s var(--ease), visibility .45s; }
.pdp-slide.is-active { opacity: 1; visibility: visible; transform: none; }
.pdp-slide > .pv { width: 100%; height: 100%; aspect-ratio: auto; }
.pdp-slide .pv-card { width: 64%; }
.pdp-slide .pv-stand { width: 38%; }
.pdp-slide--zoom .pv-card, .pdp-slide--zoom .pv-stand, .pdp-slide--zoom .pv-stickers, .pdp-slide--zoom .pv-deck { transform: scale(1.55) rotate(-3deg) translate(8%, 6%); }
.pdp-stage:hover .pdp-slide--zoom .pv-card { transform: scale(1.6) rotate(0) translate(8%, 6%); }
.pdp-slide--photo > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-thumb-art > img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pdp-back { width: 100%; height: 100%; display: grid; place-items: center; background: var(--pv-bg, linear-gradient(145deg, #F1EFFF, #E4E0FF)); }
.pdp-back-card { container-type: inline-size; width: 64%; aspect-ratio: 1.586; border-radius: 5.5% / 8.7%; display: flex; align-items: center; gap: 6cqi; padding: 7cqi; background: #16161F; color: #fff; box-shadow: 0 30px 50px -20px rgba(11, 11, 26, .55); transform: rotate(4deg); }
.pdp-back.pv--white .pdp-back-card, .pdp-back.pv--clear .pdp-back-card, .pdp-back.pv--whatsapp .pdp-back-card, .pdp-back.pv--google .pdp-back-card { background: #fff; color: var(--ink); }
.pdp-back.pv--gold .pdp-back-card { background: linear-gradient(125deg, #9C7422, #F6DE8D 30%, #C9982C 55%, #FFF0B3 76%, #A77C24); color: #3A2906; }
.pdp-back.pv--silver .pdp-back-card { background: linear-gradient(125deg, #8E949E, #F1F3F6 32%, #A6ACB5 55%, #E7EAEE 78%, #8A9099); color: #1D2127; }
.pdp-back.pv--wood .pdp-back-card { background: repeating-linear-gradient(90deg, #D9B98A 0 18%, #CFAE7C 18% 22%, #DDBF92 22% 55%, #C9A571 55% 58%, #D7B685 58% 100%); color: #3A2710; }
.pdp-back.pv--instagram .pdp-back-card { background: linear-gradient(135deg, #FEDA75, #FA7E1E 25%, #D62976 55%, #962FBF 78%, #4F5BD5); }
.pdp-back.pv--navy .pdp-back-card, .pdp-back.pv--corporate .pdp-back-card { background: #161D45; }
.pdp-back-qr { width: 34cqi; aspect-ratio: 1; flex-shrink: 0; padding: 2.4cqi; background: #fff; color: #0B0B1A; border-radius: 3.4cqi; }
.pdp-back-qr svg { width: 100%; height: 100%; }
.pdp-back-text strong { display: block; font-family: var(--f-display); font-size: 6.4cqi; line-height: 1.05; }
.pdp-back-text small { font-size: 3.4cqi; opacity: .65; }

.use-scene { position: relative; width: 100%; height: 100%; background: radial-gradient(circle at 60% 40%, #fff, #E9E6FF 70%); }
.use-phone { position: absolute; left: 50%; top: 10%; width: 30%; aspect-ratio: 9 / 18.5; transform: translateX(-10%) rotate(6deg); border-radius: 28px; background: var(--ink); padding: 8px; box-shadow: var(--shadow-lg); }
.use-notch { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: 34%; height: 12px; border-radius: 99px; background: #000; }
.use-screen { width: 100%; height: 100%; border-radius: 21px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; padding: 12px; }
.use-screen i { font-size: 40px; color: var(--green); }
.use-screen strong { color: var(--ink); font-size: 14px; line-height: 1.2; }
.use-screen small { color: var(--muted); font-size: 12px; }
.use-card { position: absolute; left: 10%; bottom: 14%; width: 44%; transform: rotate(-16deg); }
.use-card .pv { background: none; aspect-ratio: auto; overflow: visible; display: block; }
.use-card .pv::before { display: none; }
.use-card .pv-card, .use-card .pv-stand { width: 100%; transform: none; }
.use-waves { position: absolute; left: 44%; top: 46%; width: 14px; height: 14px; }
.use-waves i { position: absolute; inset: 0; border: 2px solid var(--primary); border-radius: 50%; animation: wave 2.4s ease-out infinite; }
.use-waves i:nth-child(2) { animation-delay: .8s; }
.use-waves i:nth-child(3) { animation-delay: 1.6s; }

.pdp-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pdp-thumb { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 6px 6px 8px; border: 1.5px solid var(--line); border-radius: var(--r); background: #fff; transition: border-color .2s; }
.pdp-thumb:hover { border-color: #C9C4FF; }
.pdp-thumb.is-active { border-color: var(--ink); }
.pdp-thumb > small { font-size: 12px; font-weight: 600; color: var(--muted); }
.pdp-thumb.is-active > small { color: var(--ink); }
.pdp-thumb-art { width: 100%; aspect-ratio: 5 / 4; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--soft); font-size: 30px; color: var(--primary); }
.pdp-thumb-art .pv { width: 100%; height: 100%; }
.pdp-thumb-art--1 .pv-card, .pdp-thumb-art--1 .pv-stand { transform: scale(1.5) rotate(-3deg); }

.pdp-info { display: flex; flex-direction: column; align-items: flex-start; }
.pdp-cat { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--tone-bg); color: var(--tone); font-size: 13px; font-weight: 700; margin-bottom: 14px; }
.pdp-info h1 { font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.03em; margin-bottom: 12px; }
.pdp-rating { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.pdp-rating .stars { font-size: 16px; }
.pdp-rating strong { color: var(--ink); }
.pdp-rating span { text-decoration: underline; text-underline-offset: 3px; }
.pdp-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 14px; }
.pdp-price strong { font-family: var(--f-display); font-size: 42px; color: var(--ink); letter-spacing: -.03em; line-height: 1; }
.pdp-price del { color: var(--muted); font-size: 18px; }
.pdp-price .save { font-size: 13px; font-weight: 700; color: #0B6B45; background: #E4F8F0; padding: 4px 10px; border-radius: 999px; }
.pdp-installment { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); margin: 10px 0 20px; }
.pdp-installment i { font-size: 18px; color: var(--primary); }
.pdp-installment strong { color: var(--ink); }
.pdp-desc { font-size: 16px; color: var(--text); margin-bottom: 18px; }
.pdp-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-bottom: 20px; width: 100%; }
.pdp-feats li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ink); }
.pdp-feats i { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: #E4F8F0; color: var(--green); font-size: 12px; }
.pdp-stock { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #0B6B45; margin-bottom: 16px; }
.pdp-stock .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(22, 179, 127, .18); animation: pulse 2s infinite; }
.pdp-stock.is-low { color: #B45309; }
.pdp-stock.is-low .dot { background: var(--gold); box-shadow: 0 0 0 4px rgba(245, 184, 61, .25); }
@keyframes pulse { 50% { box-shadow: 0 0 0 7px transparent; } }
.pdp-buy { display: flex; gap: 10px; width: 100%; margin-bottom: 10px; }
.pdp-add { flex: 1; }
.pdp-design { margin-bottom: 16px; }
.pdp-cutoff { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; border-radius: var(--r); background: #FFF7E6; color: #7A4B00; font-size: 14px; margin-bottom: 16px; }
.pdp-cutoff i { font-size: 24px; color: #D99A00; flex-shrink: 0; }
.pdp-cutoff strong { color: #5A3700; }
.pdp-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; margin-bottom: 16px; }
.pdp-trust li { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: var(--r); }
.pdp-trust i { font-size: 26px; color: var(--primary); flex-shrink: 0; }
.pdp-trust strong { display: block; font-size: 13px; color: var(--ink); line-height: 1.2; }
.pdp-trust small { font-size: 12px; color: var(--muted); }
.pdp-share { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.pdp-share a, .pdp-share button { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--soft); color: var(--ink); font-size: 16px; transition: background .2s, color .2s; }
.pdp-share a:hover, .pdp-share button:hover { background: var(--ink); color: #fff; }

.pdp-tabs { margin-top: 64px; }
.tab-list { display: flex; gap: 4px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.tab-list::-webkit-scrollbar { display: none; }
.tab-list button { position: relative; padding: 14px 18px; font-weight: 700; font-size: 15px; color: var(--muted); white-space: nowrap; transition: color .2s; }
.tab-list button span { font-size: 12px; padding: 1px 7px; border-radius: 99px; background: var(--soft); margin-left: 4px; }
.tab-list button::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--ink); transform: scaleX(0); transition: transform .3s var(--ease); }
.tab-list button.is-active { color: var(--ink); }
.tab-list button.is-active::after { transform: scaleX(1); }
.tab-panel { padding: 32px 0 0; animation: cardIn .4s var(--ease); }
.tab-prose { max-width: 760px; }
.tab-prose h2 { font-size: 26px; }
.mini-steps { display: grid; gap: 16px; margin-top: 24px; }
.mini-steps li { display: flex; gap: 16px; }
.mini-steps li > span { width: 36px; height: 36px; flex-shrink: 0; border-radius: 12px; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-weight: 800; font-family: var(--f-display); }
.mini-steps strong { color: var(--ink); }
.mini-steps p { margin: 2px 0 0; color: var(--muted); font-size: 15px; }
.spec-table { width: 100%; max-width: 760px; border-collapse: collapse; font-size: 15px; }
.spec-table th, .spec-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.spec-table th { width: 34%; color: var(--muted); font-weight: 600; }
.spec-table td { color: var(--ink); font-weight: 600; }
.spec-table tr:nth-child(odd) { background: var(--soft); }
.ship-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ship-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--r-lg); }
.ship-card i { font-size: 32px; color: var(--primary); }
.ship-card strong { display: block; color: var(--ink); font-size: 17px; margin: 10px 0 6px; }
.ship-card p { font-size: 14px; color: var(--muted); margin-bottom: 10px; }
.ship-card span { font-size: 14px; font-weight: 700; color: var(--ink); }
.ship-card a { color: var(--primary); }
.reviews-wrap { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: start; }
.reviews-summary { padding: 24px; border-radius: var(--r-lg); background: var(--soft); text-align: center; }
.reviews-summary > strong { display: block; font-family: var(--f-display); font-size: 56px; color: var(--ink); line-height: 1; }
.reviews-summary > .stars { font-size: 20px; margin: 8px 0 4px; }
.reviews-summary > small { display: block; color: var(--muted); margin-bottom: 18px; }
.rating-bars { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.rating-bars li { display: grid; grid-template-columns: 34px 1fr 40px; align-items: center; gap: 8px; color: var(--muted); }
.rating-bars li i { color: var(--gold); }
.rating-bars .bar { height: 7px; border-radius: 99px; background: #fff; overflow: hidden; }
.rating-bars .bar i { display: block; height: 100%; background: var(--gold); border-radius: inherit; }
.review-list { display: flex; flex-direction: column; gap: 14px; }
.review { padding: 20px; border: 1px solid var(--line); border-radius: var(--r-lg); }
.review-top { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.review-top strong { display: block; color: var(--ink); font-size: 15px; }
.review-top small { color: var(--muted); font-size: 12.5px; }
.verified-chip { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: var(--blue); }
.review p { margin: 8px 0 0; color: var(--ink); }

/* 04 — Sipariş adımları ---------------------------------------------------- */
.checkout-head { padding: 28px 0 0; }
.checkout-head h1 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; font-size: clamp(30px, 4vw, 44px); margin: 24px 0 0; }
.checkout-head h1 small { font-family: var(--f-body); font-size: 15px; font-weight: 600; color: var(--muted); letter-spacing: 0; display: inline-flex; align-items: center; gap: 6px; }
.checkout-head h1 small i { color: var(--green); }
.checkout-steps { display: flex; align-items: center; justify-content: center; max-width: 560px; margin: 0 auto; }
.checkout-steps li { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--muted); position: relative; flex: 1; }
.checkout-steps li a { display: contents; }
.checkout-steps li:not(:last-child)::after { content: ""; position: absolute; top: 20px; left: calc(50% + 28px); right: calc(-50% + 28px); height: 2px; background: var(--line); border-radius: 2px; }
.checkout-steps li.is-done:not(:last-child)::after { background: var(--green); }
.checkout-steps span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--soft); border: 2px solid var(--line); font-size: 18px; transition: .3s; }
.checkout-steps .is-done span { background: var(--green); border-color: var(--green); color: #fff; }
.checkout-steps .is-active { color: var(--ink); }
.checkout-steps .is-active span { background: var(--ink); border-color: var(--ink); color: var(--lime); box-shadow: 0 0 0 5px rgba(11, 11, 26, .08); }

/* 05 — Sepet --------------------------------------------------------------- */
.section--cart, .section--checkout, .section--success { padding-top: 32px; }
.cart-grid, .checkout-grid, .success-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; align-items: start; }
.cart-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

.free-ship-banner { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--primary-50), #F4FFD6); }
.free-ship-banner > i { font-size: 34px; color: var(--primary); }
.free-ship-banner > div { flex: 1; }
.free-ship-banner p { margin: 0 0 8px; font-size: 15px; color: var(--ink); }
.free-ship-banner .bar { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .8); overflow: hidden; }
.free-ship-banner .bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--primary), var(--pink)); border-radius: inherit; transition: width .6s var(--ease); }
.free-ship-banner.is-free { background: linear-gradient(135deg, #E4F8F0, #F4FFD6); }
.free-ship-banner.is-free > i { color: var(--green); }

.cart-lines { display: flex; flex-direction: column; gap: 12px; }
.cart-line { display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 14px; padding-right: 20px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; animation: cardIn .4s var(--ease) both; transition: opacity .3s, transform .3s; }
.cart-line.is-removing { opacity: 0; transform: translateX(20px); }
.cart-line-media { display: block; border-radius: 14px; overflow: hidden; }
.cart-line-media .pv { aspect-ratio: 4 / 3; }
.cart-line-info { min-width: 0; }
.cart-line-info .chip { margin-bottom: 6px; }
.cart-line-info h3 { font-family: var(--f-body); font-size: 16px; font-weight: 700; margin: 0 0 4px; letter-spacing: -.01em; }
.cart-line-info h3 a:hover { color: var(--primary); }
.cart-line-info p { margin: 0 0 12px; font-size: 13px; color: var(--muted); }
.cart-line-controls { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cart-line-controls .qty-big { border-radius: 12px; }
.cart-line-controls .qty-big button { width: 36px; height: 38px; font-size: 14px; }
.cart-line-controls .qty-big input { width: 44px; height: 38px; font-size: 16px; }
.cart-line-controls .link-muted, .cart-line-controls .link-edit { font-size: 13px; }
.link-edit { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: var(--primary); }
.cart-line-price { text-align: right; }
.cart-line-price strong { display: block; font-family: var(--f-display); font-size: 22px; color: var(--ink); letter-spacing: -.02em; }
.cart-line-price small { font-size: 12.5px; color: var(--muted); }
.cart-line-price del { display: block; font-size: 13px; color: var(--muted); }
.cart-line.is-skeleton { height: 128px; grid-template-columns: 140px 1fr 80px; }
.cart-line.is-skeleton span { height: 100%; border-radius: 12px; background: linear-gradient(90deg, var(--soft) 0%, #fff 50%, var(--soft) 100%) 0 0 / 200% 100%; animation: shimmer 1.2s linear infinite; }
.cart-line.is-skeleton span:nth-child(2) { height: 40%; }
.cart-line.is-skeleton span:nth-child(3) { height: 30%; }
@keyframes shimmer { to { background-position: -200% 0; } }
.cart-actions { display: flex; justify-content: space-between; align-items: center; padding: 8px 4px; }
.cart-actions .link-arrow { color: var(--ink); }

.cart-empty-page { text-align: center; padding: 56px 24px; border-radius: var(--r-xl); background: var(--soft); }
.cart-empty-art { width: 120px; height: 120px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: var(--shadow); font-size: 60px; color: var(--primary); animation: bob 5s ease-in-out infinite; }
.cart-empty-page h2 { font-size: 30px; }
.cart-empty-page p { color: var(--muted); }
.cart-empty-page .hero-cta { justify-content: center; margin: 24px 0 0; }

.order-summary { position: sticky; top: calc(var(--header-h) + 16px); padding: 24px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.order-summary h2 { display: flex; justify-content: space-between; align-items: baseline; font-size: 21px; margin-bottom: 18px; }
.order-summary h2 a { font-family: var(--f-body); font-size: 13px; font-weight: 700; color: var(--primary); letter-spacing: 0; }
.coupon { position: relative; display: flex; align-items: center; gap: 6px; padding: 5px 5px 5px 14px; border: 1.5px dashed #CFCBEA; border-radius: 14px; background: var(--soft); }
.coupon > i { font-size: 20px; color: var(--primary); }
.coupon input { flex: 1; min-width: 0; height: 38px; border: 0; background: none; outline: 0; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.coupon input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 500; }
.coupon.is-applied { border-style: solid; border-color: var(--green); background: #E7F9F1; }
.coupon-msg { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; margin: 8px 0 0; }
.coupon-msg.is-ok { color: #0B6B45; }
.coupon-msg.is-error { color: #C2410C; }
.coupon-msg button { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--muted); text-decoration: underline; }
.totals { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px dashed var(--line); }
.totals div { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; }
.totals dt { color: var(--muted); }
.totals dd { margin: 0; font-weight: 700; color: var(--ink); white-space: nowrap; }
.totals .is-discount dt, .totals .is-discount dd { color: #0B6B45; }
.totals .is-free dd { color: var(--green); }
.grand-total { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0 18px; }
.grand-total span { font-weight: 700; color: var(--ink); }
.grand-total small { font-weight: 500; color: var(--muted); font-size: 12px; }
.grand-total strong { font-family: var(--f-display); font-size: 32px; color: var(--ink); letter-spacing: -.03em; transition: color .3s; }
.grand-total strong.is-updating { color: var(--primary); }
.summary-login { text-align: center; font-size: 13.5px; color: var(--muted); margin: 12px 0 0; }
.summary-login a { color: var(--primary); font-weight: 700; }
.secure-list { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.secure-list li { display: flex; align-items: center; gap: 8px; }
.secure-list i { color: var(--green); font-size: 16px; }
.pay-logos { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 14px; font-size: 28px; color: #9B9BB0; }
.pay-logos .pay-text { font-size: 17px; font-style: italic; font-weight: 800; font-family: var(--f-display); }

/* 06 — Ödeme --------------------------------------------------------------- */
.checkout-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.checkout-main > .alert { margin: 0; }
.login-hint { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: var(--r); background: var(--primary-50); font-size: 14.5px; color: var(--ink); }
.login-hint i { font-size: 26px; color: var(--primary); }
.login-hint a { color: var(--primary); font-weight: 700; text-decoration: underline; }
.co-card { margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; min-width: 0; }
.co-card legend { float: left; width: 100%; display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 18px; font-family: var(--f-display); font-size: 20px; font-weight: 700; color: var(--ink); }
.co-card legend + * { clear: both; }
.co-card .fields + .check, .co-card .fields + .fields { margin-top: 14px; }
.co-card > .field { margin-bottom: 4px; }

.segmented--lg { display: inline-flex; padding: 4px; margin-bottom: 16px; background: var(--soft); border: 1px solid var(--line); border-radius: 14px; }
.segmented--lg label { position: relative; cursor: pointer; }
.segmented--lg input { position: absolute; opacity: 0; }
.segmented--lg span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 10px; font-size: 14px; font-weight: 700; color: var(--muted); transition: .2s; }
.segmented--lg input:checked + span { background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); }
.segmented--lg input:focus-visible + span { outline: 2px solid var(--primary); }

.option-list { display: flex; flex-direction: column; gap: 10px; }
.option-list--row { flex-direction: row; }
.option-list--row .option { flex: 1; }
.option { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px; border: 1.5px solid var(--line); border-radius: var(--r); cursor: pointer; transition: border-color .2s, background .2s; }
.option:hover { border-color: #C9C4FF; }
.option input { position: absolute; opacity: 0; }
.option::before { content: ""; flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #C8C6DA; transition: .2s; }
.option:has(input:checked) { border-color: var(--primary); background: var(--primary-50); }
.option:has(input:checked)::before { border: 6px solid var(--primary); }
.option:has(input:focus-visible) { outline: 2px solid var(--primary); outline-offset: 2px; }
.option > i { font-size: 28px; color: var(--primary); }
.option > span { flex: 1; min-width: 0; }
.option strong { display: block; color: var(--ink); font-size: 15px; }
.option small { font-size: 13px; color: var(--muted); }
.option em { font-style: normal; font-weight: 800; color: var(--ink); white-space: nowrap; }
.option em.is-free { color: var(--green); }

.pay-panel { margin-top: 18px; }
.card-form { display: grid; grid-template-columns: 300px 1fr; gap: 24px; align-items: center; }
.card-preview { perspective: 1200px; }
.cp-inner { position: relative; width: 100%; aspect-ratio: 1.586; transform-style: preserve-3d; transition: transform .7s var(--ease); }
.card-preview.is-flipped .cp-inner { transform: rotateY(180deg); }
.cp-front, .cp-back { container-type: inline-size; position: absolute; inset: 0; border-radius: 16px; backface-visibility: hidden; -webkit-backface-visibility: hidden; color: #fff; overflow: hidden; background: radial-gradient(circle at 100% 0%, rgba(215, 255, 58, .35), transparent 45%), linear-gradient(135deg, #2A1C9E, var(--primary) 55%, #8B7BFF); box-shadow: 0 24px 40px -18px rgba(40, 25, 120, .6); transition: background .5s; }
.card-preview[data-brand="visa"] .cp-front, .card-preview[data-brand="visa"] .cp-back { background: radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .25), transparent 45%), linear-gradient(135deg, #0B1F5C, #1A3FAF); }
.card-preview[data-brand="mastercard"] .cp-front, .card-preview[data-brand="mastercard"] .cp-back { background: radial-gradient(circle at 100% 0%, rgba(255, 180, 0, .35), transparent 45%), linear-gradient(135deg, #1B1B1F, #3A3A44); }
.card-preview[data-brand="troy"] .cp-front, .card-preview[data-brand="troy"] .cp-back { background: radial-gradient(circle at 100% 0%, rgba(0, 200, 200, .35), transparent 45%), linear-gradient(135deg, #004D57, #00838F); }
.card-preview[data-brand="amex"] .cp-front, .card-preview[data-brand="amex"] .cp-back { background: linear-gradient(135deg, #0F6D8E, #2FA3C9); }
.cp-back { transform: rotateY(180deg); }
.cp-chip { position: absolute; left: 8cqi; top: 13cqi; width: 13cqi; height: 10cqi; border-radius: 2cqi; background: linear-gradient(135deg, #E9C766, #B8912F); }
.cp-contactless { position: absolute; left: 24cqi; top: 14cqi; font-size: 8cqi; opacity: .8; }
.cp-brand { position: absolute; right: 7cqi; top: 7cqi; font-size: 12cqi; line-height: 1; font-weight: 800; font-style: italic; font-family: var(--f-display); }
.cp-number { position: absolute; left: 8cqi; right: 8cqi; top: 30cqi; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 6.4cqi; letter-spacing: .04em; white-space: nowrap; }
.cp-row { position: absolute; left: 8cqi; right: 8cqi; bottom: 8cqi; display: flex; justify-content: space-between; gap: 4cqi; }
.cp-row small, .cp-cvc small { display: block; font-size: 3.2cqi; opacity: .7; text-transform: uppercase; letter-spacing: .08em; }
.cp-row b { font-size: 4.4cqi; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 52cqi; display: block; }
.cp-stripe { position: absolute; left: 0; right: 0; top: 14cqi; height: 16cqi; background: #0B0B1A; }
.cp-cvc { position: absolute; right: 8cqi; top: 40cqi; left: 8cqi; display: flex; flex-direction: column; align-items: flex-end; }
.cp-cvc b { display: block; width: 60%; padding: 2cqi 3cqi; text-align: right; background: #fff; color: var(--ink); border-radius: 1.4cqi; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 5cqi; }
.card-fields .field input.is-valid { border-color: var(--green); }

.taksit { margin-top: 22px; }
.taksit .cfg-label { margin-top: 0; }
.taksit-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.taksit-opt { position: relative; cursor: pointer; }
.taksit-opt input { position: absolute; opacity: 0; }
.taksit-opt > span { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 12px 6px; border: 1.5px solid var(--line); border-radius: 14px; transition: .2s; height: 100%; }
.taksit-opt strong { font-size: 13.5px; color: var(--ink); }
.taksit-opt small { font-family: var(--f-display); font-size: 16px; font-weight: 700; color: var(--ink); }
.taksit-opt em { font-style: normal; font-size: 11.5px; color: var(--muted); }
.taksit-opt input:checked + span { border-color: var(--primary); background: var(--primary-50); }
.taksit-opt input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 2px; }
.taksit.is-disabled { opacity: .5; pointer-events: none; }
.test-note { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0; padding: 12px 14px; border-radius: 12px; background: #FFF7E6; color: #7A4B00; font-size: 13px; }
.test-note i { font-size: 18px; color: #D99A00; flex-shrink: 0; }
.test-note span { flex: 1; }
.bank-box { display: flex; gap: 16px; padding: 18px; border-radius: var(--r); background: var(--soft); }
.bank-box > i { font-size: 34px; color: var(--primary); flex-shrink: 0; }
.bank-box strong { display: block; color: var(--ink); font-size: 16px; margin-bottom: 4px; }
.bank-box p { margin: 0; font-size: 14px; color: var(--text); }

.mini-lines { display: flex; flex-direction: column; gap: 12px; max-height: 340px; overflow-y: auto; margin-bottom: 4px; padding-right: 4px; }
.mini-line { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.mini-line .mini-thumb { position: relative; border-radius: 10px; overflow: hidden; }
.mini-line .mini-thumb .pv { aspect-ratio: 1; }
.mini-line .mini-thumb b { position: absolute; top: -1px; right: -1px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 0 10px 0 10px; background: var(--ink); color: #fff; font-size: 11px; display: grid; place-items: center; }
.mini-qty { font-weight: 800; color: var(--ink); font-size: 14px; }
.mini-name { min-width: 0; }
.mini-name strong { display: block; font-size: 13.5px; color: var(--ink); line-height: 1.3; }
.mini-name small { display: block; font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-price { font-weight: 700; color: var(--ink); font-size: 14px; white-space: nowrap; }
.mini-line.is-skeleton { grid-template-columns: 56px 1fr; }
.mini-line.is-skeleton span { height: 56px; border-radius: 10px; background: linear-gradient(90deg, var(--soft) 0%, #fff 50%, var(--soft) 100%) 0 0 / 200% 100%; animation: shimmer 1.2s linear infinite; }
.submit-note { font-size: 12px; color: var(--muted); text-align: center; margin: 10px 0 0; }
.btn.is-loading { pointer-events: none; opacity: .85; }
.btn.is-loading i { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.legal-dialog { width: min(720px, calc(100vw - 32px)); max-height: min(80vh, 760px); padding: 0; border: 0; border-radius: var(--r-lg); box-shadow: var(--shadow-lg); color: var(--text); }
.legal-dialog[open] { display: flex; flex-direction: column; animation: cardIn .35s var(--ease); }
.legal-dialog::backdrop { background: rgba(11, 11, 26, .5); backdrop-filter: blur(4px); }
.legal-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.legal-head h2 { font-size: 19px; margin: 0; }
.legal-body { padding: 20px 22px; overflow-y: auto; font-size: 14.5px; }
.legal-body h3 { font-size: 16px; margin: 18px 0 6px; }
.legal-body h3:first-child { margin-top: 0; }
.legal-lines { margin: 8px 0 12px; padding-left: 18px; list-style: disc; }
.legal-date { color: var(--muted); font-size: 13px; }
.legal-foot { padding: 14px 22px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; }

/* 07 — Sipariş onay -------------------------------------------------------- */
.success-main { display: flex; flex-direction: column; gap: 20px; }
.success-hero { text-align: center; padding: 40px 28px; border-radius: var(--r-xl); background: radial-gradient(circle at 50% 0%, #F0FFC7, transparent 60%), var(--soft); }
.success-badge { width: 88px; height: 88px; margin: 0 auto 18px; border-radius: 50%; background: var(--green); display: grid; place-items: center; box-shadow: 0 16px 34px -12px rgba(22, 179, 127, .7); animation: pop .6s var(--ease) both; }
.success-badge svg { width: 52px; height: 52px; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.success-badge circle { stroke-dasharray: 160; stroke-dashoffset: 160; stroke-width: 0; }
.success-badge path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: draw .6s .35s var(--ease) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes pop { from { transform: scale(.4); opacity: 0; } 60% { transform: scale(1.1); } }
.success-hero h1 { font-size: clamp(28px, 4vw, 44px); }
.success-hero h1 .serif { color: var(--primary); }
.success-hero p { color: var(--muted); }
.order-no { display: inline-flex; align-items: center; gap: 12px; padding: 8px 8px 8px 18px; margin: 6px 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); }
.order-no span { font-size: 13px; color: var(--muted); }
.order-no strong { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 17px; color: var(--ink); letter-spacing: .04em; }
.bank-box--iban { background: #fff; border: 1.5px solid var(--primary); }
.bank-box--iban dl { margin: 10px 0 0; display: grid; gap: 8px; }
.bank-box--iban dl div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; font-size: 14px; }
.bank-box--iban dt { color: var(--muted); }
.bank-box--iban dd { margin: 0; color: var(--ink); word-break: break-all; }
.bank-box--iban code { font-family: "JetBrains Mono", ui-monospace, monospace; font-weight: 700; }
.timeline { display: flex; flex-direction: column; gap: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); }
.timeline li { position: relative; display: flex; gap: 16px; padding-bottom: 22px; }
.timeline li:last-child { padding-bottom: 0; }
.timeline li:not(:last-child)::before { content: ""; position: absolute; left: 19px; top: 40px; bottom: 2px; width: 2px; background: var(--line); }
.timeline li.is-done:not(:last-child)::before { background: var(--green); }
.timeline li > span { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: var(--soft); color: var(--muted); font-size: 18px; }
.timeline li.is-done > span { background: var(--green); color: #fff; }
.timeline li.is-current > span { background: var(--ink); color: var(--lime); box-shadow: 0 0 0 5px rgba(11, 11, 26, .08); }
.timeline strong { display: block; color: var(--ink); }
.timeline small { color: var(--muted); font-size: 13.5px; }
.success-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.summary-address { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13.5px; }
.summary-address p { margin: 0 0 10px; color: var(--text); }
.summary-address strong { display: flex; align-items: center; gap: 6px; color: var(--ink); margin-bottom: 2px; }

/* 08 — Giriş / kayıt ------------------------------------------------------- */
.page-auth .wa-float { display: none; }
.auth { padding: 24px var(--gutter) 64px; }
.auth-shell { display: grid; grid-template-columns: 1fr 1fr; max-width: 1180px; margin: 0 auto; min-height: 680px; border-radius: var(--r-xl); overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.auth-aside { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 40px; background: var(--ink); color: #C9C9DD; overflow: hidden; isolation: isolate; }
.auth-aside-bg { position: absolute; inset: 0; z-index: -1; }
.auth-aside-bg .blob-1 { background: #5B4BFF; opacity: .55; width: 420px; height: 420px; top: -120px; right: -140px; }
.auth-aside-bg .blob-2 { background: #D7FF3A; opacity: .18; width: 320px; height: 320px; bottom: -120px; left: -100px; }
.auth-cards { position: relative; height: 290px; margin: 24px 0; }
.auth-card { position: absolute; width: 58%; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .45)); }
.auth-card .pv { background: none; aspect-ratio: auto; overflow: visible; display: block; }
.auth-card .pv::before { display: none; }
.auth-card .pv-card { width: 100%; transform: none; }
.auth-card--1 { left: 30%; top: 0; transform: rotate(12deg); animation: bob 7s ease-in-out infinite; }
.auth-card--2 { left: 4%; top: 30%; transform: rotate(-10deg); animation: bob 6s ease-in-out infinite reverse; z-index: 2; }
.auth-card--3 { left: 40%; top: 52%; width: 50%; transform: rotate(4deg); animation: bob 8s ease-in-out infinite; }
.auth-aside-copy h2 { color: #fff; font-size: clamp(28px, 3vw, 38px); }
.auth-aside-copy h2 .serif { color: var(--lime); }
.auth-aside-copy p { font-size: 15px; }
.auth-aside-copy ul { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; color: #E6E6F2; }
.auth-aside-copy li { display: flex; align-items: center; gap: 8px; }
.auth-aside-copy li i { color: var(--lime); font-size: 18px; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: 48px 40px; }
.auth-form-wrap { width: 100%; max-width: 400px; }
.auth-form-wrap h1 { font-size: clamp(32px, 4vw, 42px); margin: 8px 0 6px; }
.auth-form-wrap .chip { margin-bottom: 4px; }
.auth-sub { color: var(--muted); margin-bottom: 24px; }
.auth-sub a, .label-row a, .back-link { color: var(--primary); font-weight: 700; }
.auth-form { display: flex; flex-direction: column; gap: 14px; }
.auth-form .check { margin-top: 0; }
.auth-form .btn { margin-top: 6px; }
.label-row { display: flex; justify-content: space-between; align-items: baseline; }
.label-row a { font-size: 13px; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: var(--muted); font-size: 13px; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.auth-legal { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 18px 0 0; font-size: 12.5px; color: var(--muted); }
.auth-legal i { color: var(--green); }
.back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; margin-bottom: 20px; }
.strength { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 4px; align-items: center; margin-top: 4px; }
.strength span { height: 5px; border-radius: 99px; background: var(--line); transition: background .3s; }
.strength small { font-size: 12px; font-weight: 600; color: var(--muted); margin-left: 6px; min-width: 64px; text-align: right; }
.strength[data-level="1"] span:nth-child(-n+1) { background: var(--coral); }
.strength[data-level="2"] span:nth-child(-n+2) { background: var(--gold); }
.strength[data-level="3"] span:nth-child(-n+3) { background: #7BC043; }
.strength[data-level="4"] span:nth-child(-n+4) { background: var(--green); }
.auth-done { text-align: center; }
.auth-done-icon { width: 84px; height: 84px; margin: 0 auto 18px; border-radius: 26px; display: grid; place-items: center; font-size: 44px; background: var(--primary-50); color: var(--primary); }
.auth-done-icon--warn { background: #FFF1EE; color: var(--coral); }
.auth-done h1 { font-size: 32px; }
.auth-done p { color: var(--text); }
.auth-done .alert { text-align: left; margin-top: 18px; }

/* 09 — Hesabım ------------------------------------------------------------- */
.account-head { padding: 32px 0; background: linear-gradient(180deg, var(--soft), #fff); }
.account-head-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.account-hello { display: flex; align-items: center; gap: 18px; }
.account-avatar--lg { width: 68px; height: 68px; font-size: 26px; font-family: var(--f-display); box-shadow: var(--shadow); }
.account-hello .eyebrow { margin-bottom: 2px; }
.account-hello h1 { font-size: clamp(28px, 3.6vw, 40px); margin: 0 0 4px; }
.account-hello p { margin: 0; color: var(--muted); font-size: 14px; }
.section--account { padding-top: 16px; }
.account-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; }
.account-nav { position: sticky; top: calc(var(--header-h) + 16px); display: flex; flex-direction: column; gap: 4px; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; }
.account-nav a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; font-weight: 600; font-size: 14.5px; color: var(--ink); transition: background .2s; }
.account-nav a:hover { background: var(--soft); }
.account-nav a i { font-size: 20px; color: var(--primary); }
.account-nav a span { margin-left: auto; font-size: 12px; padding: 1px 8px; border-radius: 99px; background: var(--soft); color: var(--muted); }
.account-nav a.is-active { background: var(--ink); color: #fff; }
.account-nav a.is-active i { color: var(--lime); }
.account-nav a.is-active span { background: rgba(255, 255, 255, .15); color: #fff; }
.account-content { min-width: 0; }
.account-panel { display: flex; flex-direction: column; gap: 16px; animation: cardIn .35s var(--ease); }
.panel-title { font-size: 26px; margin: 0 0 4px; }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.stat-card { padding: 20px; border-radius: var(--r-lg); background: var(--tone-bg); }
.stat-card i { font-size: 30px; color: var(--tone); }
.stat-card strong { display: block; font-family: var(--f-display); font-size: 28px; color: var(--ink); margin-top: 8px; letter-spacing: -.02em; }
.stat-card span { font-size: 13.5px; color: var(--text); }
.panel-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; }
.panel-card h2 { font-size: 20px; margin-bottom: 14px; }
.panel-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.panel-card-head h2 { margin: 0; }
.panel-card .fields { margin-top: 4px; }
.panel-card--promo { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; background: var(--ink); border-color: var(--ink); color: #C9C9DD; }
.panel-card--promo h2 { color: #fff; margin: 12px 0 6px; font-size: 24px; }
.panel-card--promo p { margin: 0; }
.panel-card--promo code { background: var(--lime); color: var(--ink); padding: 2px 8px; border-radius: 6px; font-weight: 700; }
.order-meta { color: var(--muted); font-size: 14px; margin: 8px 0 18px; }
.order-meta strong { color: var(--ink); font-family: "JetBrains Mono", ui-monospace, monospace; }
.progress-track { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 18px; }
.progress-track li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--muted); }
.progress-track li span { width: 16px; height: 16px; border-radius: 50%; background: var(--line); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--line); z-index: 1; }
.progress-track li:not(:last-child)::after { content: ""; position: absolute; top: 7px; left: 50%; width: 100%; height: 2px; background: var(--line); }
.progress-track li.is-done { color: var(--ink); }
.progress-track li.is-done span { background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.progress-track li.is-done:not(:last-child)::after { background: var(--green); }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.quick-card { display: flex; flex-direction: column; gap: 4px; padding: 20px; border: 1px solid var(--line); border-radius: var(--r-lg); transition: transform .25s var(--ease), box-shadow .25s; }
.quick-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.quick-card i { font-size: 28px; color: var(--primary); margin-bottom: 8px; }
.quick-card .fa-whatsapp { color: #25D366; }
.quick-card strong { color: var(--ink); }
.quick-card small { color: var(--muted); font-size: 13px; }
.order-list { display: flex; flex-direction: column; gap: 10px; }
.order-item { border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; transition: box-shadow .2s; }
.order-item[open] { box-shadow: var(--shadow-sm); border-color: var(--ink); }
.order-item summary { display: flex; align-items: center; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none; flex-wrap: wrap; }
.order-item summary::-webkit-details-marker { display: none; }
.order-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--primary-50); color: var(--primary); font-size: 22px; }
.order-main { flex: 1; min-width: 140px; }
.order-main strong { display: block; color: var(--ink); font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 14.5px; }
.order-main small { color: var(--muted); font-size: 13px; }
.order-total { font-family: var(--f-display); font-size: 18px; color: var(--ink); }
.order-caret { color: var(--muted); transition: transform .25s; }
.order-item[open] .order-caret { transform: rotate(180deg); }
.order-body { padding: 0 20px 20px; border-top: 1px solid var(--line); padding-top: 16px; }
.order-address, .saved-address { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--text); margin: 14px 0; }
.order-address i, .saved-address i { color: var(--primary); font-size: 18px; }

/* 10 — Responsive ---------------------------------------------------------- */
@media (max-width: 1100px) {
    .cart-grid, .checkout-grid, .success-grid { grid-template-columns: minmax(0, 1fr) 360px; }
    .card-form { grid-template-columns: 1fr; }
    .card-preview { max-width: 320px; }
    .taksit-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 960px) {
    .pdp-grid { grid-template-columns: minmax(0, 1fr); }
    .pdp-gallery { position: static; }
    .reviews-wrap { grid-template-columns: 1fr; }
    .ship-grid { grid-template-columns: 1fr; }
    .cart-grid, .checkout-grid, .success-grid { grid-template-columns: minmax(0, 1fr); }
    .order-summary { position: static; }
    .auth-shell { grid-template-columns: 1fr; min-height: 0; }
    .auth-aside { display: none; }
    .account-grid { grid-template-columns: minmax(0, 1fr); }
    .account-nav { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; }
    .account-nav a { white-space: nowrap; }
    .page-product { padding-bottom: 76px; }
    .mobile-buy--pdp { position: fixed; left: 0; right: 0; bottom: 0; z-index: 75; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -20px rgba(11, 11, 26, .4); transform: translateY(110%); transition: transform .35s var(--ease); }
    .mobile-buy--pdp.is-visible { transform: none; }
    .mobile-buy--pdp small { display: block; font-size: 12px; color: var(--muted); max-width: 46vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-buy--pdp strong { font-family: var(--f-display); font-size: 22px; color: var(--ink); }
    .page-product .wa-float { bottom: 88px; }
}

@media (max-width: 768px) {
    .product-grid--list { grid-template-columns: repeat(2, 1fr); }
    .list-hero-perks { display: none; }
    .list-toolbar { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
    .list-filters { min-width: 0; }
    .list-filters { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
    .select-pill, .toggle-pill { flex-shrink: 0; }
    .design-banner { flex-direction: column; text-align: center; }
    .cart-line { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px; }
    .cart-line-price { grid-column: 2; text-align: left; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
    .cart-line-price strong { font-size: 19px; }
    .cart-line-info p { margin-bottom: 8px; }
    .option-list--row { flex-direction: column; }
    .co-card { padding: 20px 16px; }
    .stat-grid, .quick-grid { grid-template-columns: 1fr; }
    .stat-card { display: flex; align-items: center; gap: 14px; }
    .stat-card strong { margin: 0; font-size: 22px; }
    .stat-card span { margin-left: auto; }
}

@media (max-width: 560px) {
    .fields { grid-template-columns: 1fr; }
    .pdp-feats, .pdp-trust { grid-template-columns: 1fr; }
    .pdp-price strong { font-size: 36px; }
    .pdp-buy { flex-direction: column; }
    .pdp-buy .qty-big { align-self: flex-start; }
    .pdp-thumbs { gap: 6px; }
    .pdp-thumb > small { font-size: 11px; }
    .checkout-steps span { width: 36px; height: 36px; font-size: 16px; }
    .checkout-steps li:not(:last-child)::after { top: 17px; }
    .taksit-grid { grid-template-columns: repeat(2, 1fr); }
    .auth { padding: 12px 12px 48px; }
    .auth-panel { padding: 32px 20px; }
    .account-hello { gap: 12px; }
    .account-avatar--lg { width: 52px; height: 52px; font-size: 20px; }
    .progress-track li { font-size: 10.5px; }
    .order-item summary { gap: 10px; padding: 14px; }
    .order-total { margin-left: auto; }
}

/* PDP — ürüne özel kargo notu ve yorum dipnotu */
.ship-card--note { border-color: var(--primary, #5B4BFF); background: #f7f6ff; }
.reviews-count-note { margin: 14px 0 0; font-size: 12px; color: var(--muted, #6F6F88); }

/* iyzico panel + logo */
.logo-img { height: 30px; width: auto; display: block; }
.pay-panel--iyzico { padding: 4px 0; }
.pay-iyzico { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1.5px solid var(--line); border-radius: var(--r); background: var(--soft); font-size: 13px; color: var(--text); line-height: 1.6; }
.pay-iyzico i { font-size: 26px; color: var(--primary); flex-shrink: 0; }
.pay-iyzico small { display: block; color: var(--muted); margin-top: 4px; }

/* --- NFC kart aktivasyonu (/k/SERI) --- */
.auth-panel--full { grid-column: 1 / -1; }
.chip-serial { font-family: 'JetBrains Mono', 'Consolas', monospace; font-weight: 800; letter-spacing: .14em; background: #F1F1FA; border: 1px solid #E2E2F0; border-radius: 8px; padding: 2px 10px; font-size: 15px; color: #14142B; }
.chip-claim-user { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1.5px solid #E9E9F4; border-radius: 14px; background: #FAFAFE; margin-bottom: 4px; }
.chip-claim-user .admin-avatar { width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, #14142B, #4B3CF0); color: #D7FF3A; display: grid; place-items: center; font-weight: 800; font-size: 18px; flex-shrink: 0; }
.chip-claim-user strong { display: block; font-size: 15px; }
.chip-claim-user small { color: #6E6E8F; font-size: 12.5px; }

/* --- PDP kişiselleştirme kartı --- */
.pdp-perso { margin: 16px 0; padding: 16px; border: 1.5px solid var(--line); border-radius: var(--r); background: linear-gradient(180deg, #FBFBFF, #F6F6FC); }
.pdp-perso > header { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.pdp-perso-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-size: 19px; flex-shrink: 0; }
.pdp-perso > header strong { display: block; font-size: 14.5px; }
.pdp-perso > header small { color: var(--muted); font-size: 12px; line-height: 1.45; display: block; }
.pdp-perso-opt { margin-left: auto; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; flex-shrink: 0; }
.pdp-perso-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pdp-perso-field { display: flex; flex-direction: column; gap: 5px; }
.pdp-perso-field.is-wide { grid-column: 1 / -1; margin-top: 10px; }
.pdp-perso-field > span { font-size: 12px; font-weight: 600; color: var(--text-2, #55556E); display: inline-flex; align-items: center; gap: 5px; }
.pdp-perso-field > span i { color: var(--primary); }
.pdp-perso-field > span em { font-style: normal; font-weight: 400; color: var(--muted); }
.pdp-perso-field input, .pdp-perso-field select { padding: 10px 12px; border: 1.5px solid var(--line); border-radius: 10px; font: inherit; font-size: 13.5px; background: #fff; transition: border-color .15s; }
.pdp-perso-field input:focus, .pdp-perso-field select:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(75,60,240,.12); }
.pdp-perso-logo { position: relative; margin-top: 10px; display: flex; align-items: center; gap: 10px; }
.pdp-perso-dropzone { flex: 1; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1.5px dashed #C9C9E0; border-radius: 12px; background: #fff; cursor: pointer; transition: all .18s; }
.pdp-perso-dropzone:hover { border-color: var(--primary); background: #FBFAFF; }
.pdp-perso-dropzone i { font-size: 24px; color: var(--primary); }
.pdp-perso-dropzone strong { display: block; font-size: 13px; }
.pdp-perso-dropzone small { color: var(--muted); font-size: 11.5px; }
.pdp-perso-logo-preview { width: 44px; height: 44px; object-fit: contain; border-radius: 9px; border: 1px solid var(--line); background: #fff; padding: 3px; }
.pdp-perso-logo-x { width: 28px; height: 28px; border-radius: 8px; border: 0; background: #FFEDE7; color: #D14E2B; cursor: pointer; display: grid; place-items: center; }
@media (max-width: 480px) { .pdp-perso-grid { grid-template-columns: 1fr; } }

/* Yeni renkler — arka yüz kartı */
.pdp-back.pv--red .pdp-back-card { background: #D32F2F; }
.pdp-back.pv--emerald .pdp-back-card { background: #0B7A55; }
.pdp-back.pv--pink .pdp-back-card { background: #F06BA2; }
.pdp-back.pv--purple .pdp-back-card { background: #5B3FE0; }
.pdp-back.pv--yellow .pdp-back-card { background: #FFC62E; color: #2A2105; }
.pdp-back.pv--instagram .pdp-back-card { background: linear-gradient(135deg, #FEDA75, #FA7E1E 25%, #D62976 55%, #962FBF 78%, #4F5BD5); }
.pdp-back.pv--blue .pdp-back-card { background: #1877F2; }

/* Kategori üstü "Kartını özelleştir" bilgi banner'ı */
.custom-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin-bottom: 28px; padding: 24px 28px; border-radius: var(--r-lg); color: #fff; background: radial-gradient(circle at 92% 0%, rgba(215, 255, 58, .22), transparent 42%), radial-gradient(circle at 0% 100%, rgba(139, 123, 255, .45), transparent 50%), var(--ink); }
.custom-banner-copy { flex: 1 1 520px; min-width: 0; }
.custom-banner-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--lime); font-size: 12.5px; font-weight: 700; }
.custom-banner h2 { color: #fff; font-size: clamp(20px, 2.4vw, 28px); letter-spacing: -.02em; margin: 10px 0 6px; }
.custom-banner h2 em { font-style: normal; color: var(--lime); }
.custom-banner p { color: #C9C9DD; font-size: 14px; margin: 0 0 14px; max-width: 70ch; }
.custom-banner-steps { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.custom-banner-steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #fff; }
.custom-banner-steps span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .14); font-size: 12px; }
.custom-banner-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.custom-banner-cta small { display: inline-flex; align-items: center; gap: 6px; color: #A9A9C2; font-size: 12px; }
@media (max-width: 560px) { .custom-banner { padding: 20px 18px; } .custom-banner-cta, .custom-banner-cta .btn { width: 100%; justify-content: center; } }

/* Hazır aktivasyonlu kart notu */
.pdp-ready { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--primary-50); font-size: 14px; color: var(--text); }
.pdp-ready i { font-size: 20px; color: var(--primary); flex-shrink: 0; }
/* Hesabım — siparişe atanmış seri kodları */
.order-serials { margin: 12px 0; padding: 12px 14px; border-radius: 14px; background: var(--soft); }
.order-serials ul { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.order-serials li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; }
.order-serials code { font-family: "JetBrains Mono", ui-monospace, monospace; font-weight: 700; letter-spacing: .12em; padding: 3px 8px; border-radius: 8px; background: #fff; }
.order-serials small { color: var(--muted); }

/* Giriş / kayıt / şifre sayfaları — sekmeler, adımlar, yeniden gönder */
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 26px; border-radius: 999px; background: var(--soft); }
.auth-tabs a { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 12px; border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--muted); transition: background .2s, color .2s, box-shadow .2s; }
.auth-tabs a:hover { color: var(--ink); }
.auth-tabs a.is-on { background: #fff; color: var(--ink); box-shadow: 0 6px 16px -10px rgba(11, 11, 26, .35); }
.auth-steps { display: flex; gap: 6px; margin: 16px 0 22px; padding: 0; list-style: none; }
.auth-steps li { flex: 1; display: flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 12px; background: var(--soft); font-size: 12.5px; font-weight: 700; color: var(--muted); }
.auth-steps span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #fff; font-size: 11.5px; flex-shrink: 0; }
.auth-steps li.is-on { background: var(--primary-50); color: var(--primary); }
.auth-steps li.is-on span { background: var(--primary); color: #fff; }
.auth-steps li.is-done { color: var(--ink); }
.auth-steps li.is-done span { background: var(--green); color: #fff; }
.auth-mailapps { display: flex; justify-content: center; gap: 8px; margin: 18px 0 6px; flex-wrap: wrap; }
.auth-mailapps a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 13.5px; font-weight: 700; color: var(--ink); background: #fff; }
.auth-mailapps a:hover { border-color: var(--ink); }
.auth-resend { margin-top: 14px; }
.auth-resend .btn[disabled] { opacity: .55; cursor: not-allowed; }
/* Sol panelde T stant ve kare kart */
.auth-card .pv-stand { width: 100%; transform: none; }
.auth-card .pv-lstand { width: 64%; margin: 0 auto; }
.auth-card .pv-plate { width: 78%; }
.auth-card--1 { width: 44%; left: 50%; top: -4%; }
.auth-card--2 { width: 44%; left: 6%; top: 18%; }
.auth-card--3 { width: 50%; left: 30%; top: 50%; }

/* ==========================================================================
   Ürün sayfası — kişiselleştirme vurgusu
   ========================================================================== */
.pdp-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pdp-custom-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--ink); background: linear-gradient(90deg, var(--lime), #F1FFB8); box-shadow: inset 0 0 0 1px rgba(11, 11, 26, .08); }
.pdp-custom-badge:hover { filter: brightness(.97); }

.pdp-customize { margin-top: 18px; padding: 22px; border-radius: var(--r-lg); color: #C9C9DD; background: radial-gradient(circle at 96% 0%, rgba(215, 255, 58, .2), transparent 42%), radial-gradient(circle at 0% 100%, rgba(139, 123, 255, .4), transparent 52%), var(--ink); }
.pdp-customize-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.pdp-customize-ic { flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 24px; background: var(--lime); color: var(--ink); }
.pdp-customize h2 { color: #fff; font-size: 21px; margin: 0 0 4px; letter-spacing: -.02em; }
.pdp-customize h2 em { font-style: normal; color: var(--lime); }
.pdp-customize-head p { margin: 0; font-size: 13.5px; }
.pdp-customize-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.pdp-customize-list li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); color: #fff; font-size: 12.5px; font-weight: 600; }
.pdp-customize-list i { color: var(--lime); font-size: 16px; }
.pdp-customize-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.pdp-customize-steps li { display: flex; gap: 8px; align-items: flex-start; padding: 10px; border-radius: 14px; background: rgba(255, 255, 255, .05); }
.pdp-customize-steps span { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; color: var(--ink); background: #fff; }
.pdp-customize-steps strong { display: block; color: #fff; font-size: 13px; line-height: 1.25; }
.pdp-customize-steps small { font-size: 11.5px; line-height: 1.35; }
.pdp-customize-cta { display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-customize-cta .btn--dark { background: var(--lime); color: var(--ink); }
.pdp-customize-cta .btn--outline { color: #fff; border-color: rgba(255, 255, 255, .3); }
.pdp-customize-cta .btn--outline:hover { background: #fff; color: var(--ink); }

.pdp-perso { border-color: rgba(91, 75, 255, .35); background: linear-gradient(180deg, var(--primary-50), #fff 55%); box-shadow: 0 16px 34px -26px rgba(91, 75, 255, .6); }
.pdp-perso-live { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: var(--ink); color: var(--lime); font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pdp-perso-hint { display: flex; gap: 6px; margin: 12px 0 0; font-size: 12px; color: var(--muted); line-height: 1.45; }
.pdp-perso-hint i { color: var(--primary); margin-top: 2px; }
.pdp-design-card { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 14px 16px; border-radius: var(--r); border: 1.5px solid var(--ink); color: var(--ink); background: #fff; transition: background .2s, transform .2s; }
.pdp-design-card:hover { background: var(--ink); color: #fff; transform: translateY(-1px); }
.pdp-design-card:hover small { color: #C9C9DD; }
.pdp-design-ic { flex-shrink: 0; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; background: var(--lime); color: var(--ink); }
.pdp-design-card strong { display: block; font-size: 15px; }
.pdp-design-card small { display: block; font-size: 12.5px; color: var(--muted); }
.pdp-design-go { margin-left: auto; font-size: 18px; }

/* Canlı önizlemede yüklenen logo */
.pdp-live-logo { position: absolute; right: 7cqi; top: 7cqi; width: 16cqi; height: 16cqi; object-fit: contain; border-radius: 3cqi; background: #fff; padding: 1.5cqi; box-shadow: 0 1cqi 3cqi rgba(0, 0, 0, .15); z-index: 3; }
.pv-card:has(.pdp-live-logo) .pv-nfc { display: none; }
.pv-sign-logo.has-logo .pdp-live-logo { position: static; width: 74%; height: 74%; padding: 0; box-shadow: none; background: none; border-radius: 0; }
.pv.is-personal .pv-sign-title, .pv.is-personal .pv-g em { animation: pdpFlash .5s ease; }
@keyframes pdpFlash { from { opacity: .3; } to { opacity: 1; } }
@media (max-width: 560px) { .pdp-customize-steps { grid-template-columns: 1fr; } }
.pdp-design-card { width: 100%; box-sizing: border-box; }

/* Dikey Google kartının arka yüzü */
.pdp-back--v .pdp-back-card { width: 34%; aspect-ratio: 54 / 85.6; flex-direction: column; justify-content: center; text-align: center; gap: 6cqi; border-radius: 8.7% / 5.5%; }
.pdp-back--v .pdp-back-qr { width: 70cqi; }
.pdp-back--v .pdp-back-text strong { font-size: 10cqi; }
.pdp-back--v .pdp-back-text small { font-size: 5cqi; }

/* Ürün sayfası — örnek dijital profil (telefon çerçevesinde) */
.pdp-demo-card { margin-bottom: 10px; }
.demo-modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 16px; }
.demo-modal[hidden] { display: none; }
.demo-modal-back { position: absolute; inset: 0; background: rgba(11, 11, 26, .62); backdrop-filter: blur(4px); }
.demo-phone { position: relative; width: min(390px, 100%); height: min(800px, calc(100vh - 32px)); padding: 12px; border-radius: 46px; background: #0B0B1A; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), inset 0 0 0 2px #2A2A3A; animation: demo-in .3s ease; }
.demo-phone iframe { width: 100%; height: 100%; border: 0; border-radius: 34px; background: #fff; display: block; }
.demo-notch { position: absolute; top: 20px; left: 50%; z-index: 2; width: 92px; height: 24px; border-radius: 99px; background: #0B0B1A; transform: translateX(-50%); pointer-events: none; }
.demo-close { position: absolute; top: -6px; right: -6px; z-index: 3; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff; color: #0B0B1A; font-size: 18px; cursor: pointer; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .5); }
@keyframes demo-in { from { opacity: 0; transform: translateY(16px) scale(.97); } }
/* SEO alt kategorileri (kategori sayfası) */
.sub-pills { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.sub-pills-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.sub-pills a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; border: 1.5px dashed var(--line); background: rgba(255, 255, 255, .7); font-size: 13px; font-weight: 600; color: var(--ink); transition: border-color .15s, background .15s; }
.sub-pills a span { font-size: 11px; color: var(--muted); }
.sub-pills a:hover { border-color: var(--primary); }
.sub-pills a.is-active { border-style: solid; border-color: var(--primary); background: var(--primary); color: #fff; }
.sub-pills a.is-active span { color: rgba(255, 255, 255, .75); }
@media (max-width: 640px) { .sub-pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .sub-pills a { flex: none; } }

/* Ürün detayı: fiyat/SSS metni ve benzer aramalar */
.tab-prose h2 + p a { color: var(--primary); font-weight: 700; }
.pdp-faq { display: grid; gap: 8px; margin: 10px 0 22px; }
.pdp-related-search { margin-top: 8px; padding-top: 16px; border-top: 1px dashed var(--line); }
.pdp-related-search strong { display: flex; align-items: center; gap: 6px; font-size: 14px; margin-bottom: 10px; }
.pdp-related-search ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-related-search a { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 13px; font-weight: 600; color: var(--ink); }
.pdp-related-search a:hover { border-color: var(--primary); color: var(--primary); }

/* QR menü yazılımı tanıtımı (yalnızca QR menü kategorisi) — sıcak turuncu, açık zemin; paketler sarmalanan ızgarada, yatay kayma yok */
.sw-banner { --sw: #E8590C; --sw-600: #C2410C; --sw-soft: #FFF4EC; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px 32px; align-items: center; margin-bottom: 28px; padding: 28px; border-radius: var(--r-lg); background: radial-gradient(circle at 100% 0%, rgba(232, 89, 12, .14), transparent 45%), linear-gradient(160deg, #FFFAF5, var(--sw-soft)); border: 1px solid #FBDCC6; }
.sw-banner-copy { min-width: 0; }
.sw-banner-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #fff; color: var(--sw-600); font-size: 12.5px; font-weight: 700; box-shadow: 0 0 0 1px #FBDCC6; }
.sw-banner h2 { font-size: clamp(20px, 2.4vw, 28px); letter-spacing: -.02em; line-height: 1.15; margin: 12px 0 8px; color: var(--ink); }
.sw-banner h2 em { font-style: normal; color: var(--sw); }
.sw-banner p { margin: 0 0 14px; color: var(--muted); font-size: 14px; line-height: 1.6; max-width: 62ch; }
.sw-banner p strong { color: var(--ink); }
.sw-banner-feats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.sw-banner-feats li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 600; color: var(--ink); box-shadow: 0 0 0 1px rgba(11, 11, 26, .06); }
.sw-banner-feats i { color: var(--sw); }
.sw-banner-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.sw-btn { background: var(--sw); color: #fff; min-height: 46px; }
.sw-btn:hover { background: var(--sw-600); color: #fff; box-shadow: 0 14px 28px -12px rgba(232, 89, 12, .6); }
.sw-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; font-size: 14px; color: var(--sw-600); }
.sw-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.sw-link i { transition: transform .2s; }
.sw-link:hover i { transform: translateX(3px); }
.sw-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.sw-plan a { position: relative; display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 16px; border-radius: 16px; background: #fff; color: var(--ink); box-shadow: 0 0 0 1px rgba(11, 11, 26, .07), 0 8px 20px -14px rgba(120, 50, 10, .35); transition: transform .2s, box-shadow .2s; }
.sw-plan a:hover { transform: translateY(-2px); box-shadow: 0 0 0 1.5px var(--sw), 0 14px 28px -16px rgba(232, 89, 12, .55); }
.sw-plan a:focus-visible { outline: 3px solid var(--sw); outline-offset: 2px; }
.sw-plan.is-hot a { background: var(--ink); color: #fff; box-shadow: 0 14px 30px -16px rgba(11, 11, 26, .6); }
.sw-plan-badge { position: absolute; top: 12px; right: 12px; padding: 3px 8px; border-radius: 999px; background: var(--sw); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; }
.sw-plan-name { font-size: 13px; font-weight: 700; opacity: .8; padding-right: 60px; }
.sw-plan-price { font-family: var(--f-display); font-size: clamp(20px, 2vw, 24px); font-weight: 800; letter-spacing: -.02em; white-space: nowrap; }
.sw-plan-price small { font-size: 12px; font-weight: 600; opacity: .65; margin-left: 2px; }
.sw-plan-desc { font-size: 12px; opacity: .7; }
@media (max-width: 900px) { .sw-banner { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
    .sw-banner { padding: 20px 16px; gap: 18px; }
    .sw-plans { gap: 10px; }
    .sw-plan a { padding: 14px 12px; }
    .sw-plan-name { padding-right: 0; }
    .sw-plan-badge { position: static; align-self: flex-start; margin-bottom: 2px; }
    .sw-banner-cta .sw-btn { width: 100%; justify-content: center; }
    .sw-banner-cta .sw-link { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .sw-plan a, .sw-link i { transition: none; } .sw-plan a:hover { transform: none; } }
.sw-banner--solo { grid-template-columns: minmax(0, 1fr); }
