.gp-pf { margin-top: 24px; margin-bottom: 24px; font-family: 'Inter', system-ui, sans-serif; color: #0d1c32; }
.gp-pf, .gp-pf * { box-sizing: border-box; }
.gp-pf__label { margin: 0 0 10px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: #0047ab; }
.gp-pf__sizes { display: flex; flex-wrap: wrap; gap: 10px; }
.gp-pf__size { min-height: 48px; min-width: 110px; padding: 11px 18px; border: 1px solid #dce3ed; border-radius: 10px; background: #fff; color: #0d1c32; font: 700 14px/1.4 'Inter', sans-serif; cursor: pointer; }
.gp-pf__size[aria-pressed="true"] { border-color: #0047ab; background: #edf4ff; color: #0047ab; box-shadow: inset 0 0 0 1px #0047ab; }
.gp-pf__size:hover:not(:disabled), .gp-pf__size:focus-visible { border-color: #0047ab; }
.gp-pf__size:disabled { opacity: .55; cursor: default; }
.gp-pf__size-status { display: block; margin-top: 3px; font-size: 10px; font-weight: 500; }
.gp-pf__choice { padding: 18px; margin-top: 14px; border: 1px solid #cbdcf5; border-radius: 12px; background: #f5f8fe; }
.gp-pf__choice-title { margin: 0 0 8px; font-size: 16px; font-weight: 800; }
.gp-pf__note { margin: 0 0 12px; font-size: 12px; line-height: 1.6; color: #66718a; }
.gp-pf__options { display: grid; gap: 8px; }
.gp-pf__option { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #dce3ed; border-radius: 8px; background: #fff; color: #0d1c32; text-align: left; font: 600 13px/1.4 'Inter', sans-serif; cursor: pointer; }
.gp-pf__option:hover:not(:disabled), .gp-pf__option:focus-visible { border-color: #0047ab; color: #0047ab; }
.gp-pf__option:disabled { opacity: .6; cursor: default; }
.gp-pf__option-price { font-size: 12px; white-space: nowrap; }
.gp-pf__cancel { display: block; min-height: 44px; margin: 10px 0 -6px; padding: 0; border: 0; background: transparent; color: #0047ab; font: 600 12px/1.4 'Inter', sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gp-pf button:focus-visible { outline: 2px solid #0047ab; outline-offset: 3px; }

/* Shopify karşılaştırma fiyatının indirim rozeti (storefront.js GP_STOREFRONT.price.renderPrice):
   ürün ve aile kartlarında "-%X", ürün sayfasında "%X İNDİRİM". Bu dosya her mağaza sayfasında yüklenir. */
.gp-price__badge { display: inline-block; margin-left: 8px; padding: 3px 6px; border-radius: 3px; background: #cf2e20; color: #fff; font: 800 11px/1.2 'Inter', system-ui, sans-serif; letter-spacing: .02em; vertical-align: middle; white-space: nowrap; }
.gp-price__badge--long { padding: 4px 8px; font-size: 12px; letter-spacing: .04em; }
.gp-price__stack { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.gp-price__stack [hidden] { display: none !important; }
.gp-price__was { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.gp-price__base { color: #c4341a; font-size: .7em; font-weight: 600; line-height: 1.2; text-decoration-thickness: 1.5px; font-variant-numeric: tabular-nums; }
.gp-price__main { color: #0047ab; line-height: 1.15; font-variant-numeric: tabular-nums; }
.gp-price__note { max-width: 100%; color: #59677b; font: 600 10px/1.5 'Inter', system-ui, sans-serif; letter-spacing: 0; white-space: normal; }
.gp-price__was .gp-price__badge { margin-left: 0; }
.gp-pf__option-price .gp-price__stack { align-items: flex-end; }
#pdp-price .gp-price__base { font-size: 18px; }
#pdp-price .gp-price__note { font-size: 11px; }
.gp-pf__option-was { margin-left: 6px; color: #8a93a3; font-weight: 500; }

/* Ürün sayfasındaki açılır bölümler (.gp-acc): Ürün Açıklaması'nın öğeleri
   (storefront.js renderDescription; statik sayfada tools/build-pages.py
   description_html) ve Ürün Dosyası'nın bölümleri (dossier.js; ince ayar
   dossier.css). Yerel <details>/<summary>, ana sayfa SSS'siyle aynı desen:
   bütün başlık satırı düğmedir (en az 52 px), solda başlık, sağda kapalıyken
   +, açıkken −. Hepsi kapalı başlar; içerik kapalıyken de sayfadadır. Statik
   açıklama ilk boyamada bu kurallarla çizilsin diye <head>'deki bu dosyadadır. */
.gp-acc { border-bottom: 1px solid #dbe3f7; scroll-margin-top: calc(var(--gp-header-h, 72px) + 16px); }
#pdp-desc > h2 + .gp-acc { margin-top: 14px; border-top: 1px solid #dbe3f7; }
.gp-acc__head { display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 12px 2px; list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.gp-acc__head::-webkit-details-marker { display: none; }
.gp-acc__head:focus-visible { outline: 3px solid #0757ee; outline-offset: 2px; border-radius: 6px; }
.gp-acc__title { flex: 1 1 auto; min-width: 0; margin: 0; font: 700 16px/1.3 'Space Grotesk', 'Inter', sans-serif; color: #0d1c32; overflow-wrap: anywhere; transition: color .18s ease; }
h4.gp-acc__title { font-size: 15px; }
.gp-acc__head:hover .gp-acc__title { color: #0047ab; }
/* + / −: iki çubuk; açıkken dikey çubuk kapanır (metin değil, ekran okuyucu okumaz). */
.gp-acc__sign { position: relative; flex: none; width: 28px; height: 28px; color: #0047ab; }
.gp-acc__sign::before, .gp-acc__sign::after { content: ''; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; border-radius: 2px; background: currentColor; transition: transform .2s ease; }
.gp-acc__sign::after { transform: rotate(90deg); }
.gp-acc[open] > .gp-acc__head .gp-acc__sign::after { transform: rotate(90deg) scaleX(0); }
.gp-acc__body { padding: 0 2px 20px; }
.gp-acc__body > :first-child { margin-top: 0; }
.gp-acc[open] > .gp-acc__body { animation: gp-acc-in .2s ease-out; }
@keyframes gp-acc-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* Gövdesi olmayan başlık (ardından hemen başka başlık gelir): açılacak bir şey yok, düğme değil. */
.gp-acc--static { display: flex; align-items: center; min-height: 52px; padding: 12px 2px; }
@media (prefers-reduced-motion: reduce) {
    .gp-acc__title, .gp-acc__sign::before, .gp-acc__sign::after { transition: none; }
    .gp-acc[open] > .gp-acc__body { animation: none; }
}
/* Yüksek kontrast / forced-colors: arka plan rengi sistemin Canvas'ına
   çevrilir ve çubukla çizilen + / − kaybolurdu; metin rengiyle kalır
   (flavor-picker-pdp.css .gp-fp__tick ile aynı yol). */
@media (forced-colors: active) {
    .gp-acc__sign::before, .gp-acc__sign::after { forced-color-adjust: none; background: CanvasText; }
}
