/* ==========================================================================
   GARDENIST — E-TİCARET (tema: beyaz zemin / siyah metin)
   Site geneli koyu (siyah) zeminli; ürün bölümleri beyaz kâğıt yüzeye alınır
   (SNOC referans estetiği). Hiçbir yerde siyah-üstüne-siyah veya
   beyaz-üstüne-beyaz kombinasyona izin verilmez.
   ========================================================================== */

/* -- Tokens (shop scope) -- */
.gshop,
.gshop-page {
    --gs-bg: #ffffff;
    /* Yüzey / çizgi: sıcak bej yok — beyaz ve nötr gri */
    --gs-surface: #ffffff;
    --gs-ink: #0a0a0a;
    --gs-ink-muted: #5a5a5a;
    --gs-ink-faint: #8b8b8b;
    --gs-line: #dedede;
    --gs-line-strong: #111111;
    --gs-accent: #b7935a;
    --gs-accent-dark: #86673b;
    --gs-badge-bg: #111111;
    --gs-badge-ink: #ffffff;
    --gs-sale-ink: #9c3a2a;
    /* Eski sınıflar / inline stiller için */
    --gs-muted: var(--gs-ink-muted);
}

/* Mağaza sayfalarında ana zemin: beyaz */
body.gshop-page,
.gshop-page {
    background: var(--gs-bg) !important;
    color: var(--gs-ink);
}

/* Tam ekran mobil menü: body metin rengi (koyu) aksi halde linkler okunmaz */
body.gshop-page .mobile-menu a.mobile-menu__link,
body.gshop-page a.mobile-menu__link {
    color: #e8e8e4 !important;
}
body.gshop-page .mobile-menu .mobile-menu__link:hover,
body.gshop-page .mobile-menu a.mobile-menu__link:focus {
    color: #c4ad8f !important;
}
body.gshop-page .mobile-menu .mobile-menu__social-link {
    color: rgba(255, 255, 255, 0.7) !important;
}
body.gshop-page .mobile-menu .mobile-menu__social-link:hover,
body.gshop-page .mobile-menu .mobile-menu__social-link:focus {
    color: #fff !important;
}
body.gshop-page .mobile-menu .mobile-menu__lang-active { color: #f0f0ec !important; }
body.gshop-page .mobile-menu .mobile-menu__lang-inactive { color: rgba(255, 255, 255, 0.4) !important; }
body.gshop-page .mobile-menu .mobile-menu__lang-inactive:hover { color: #f0f0ec !important; }

/* Shell içinde görünen <main> — koyu siteden mağazaya geçiş */
.gardenist-cms.gardenist-cms--shop {
    background: var(--gs-bg);
    color: var(--gs-ink);
}

.gshop {
    max-width: 1480px;
    margin: 0 auto;
    padding: 2rem 1.5rem 5rem;
    font-family: var(--font-sans);
}

.gshop a:not(.gshop-btn):not([class*="gshop-btn--"]) {
    color: inherit;
}

/* Sepet/ödeme butonları: renk devralmayı bozmayalım */
.gshop a.gshop-btn,
.gshop a.gshop-btn--dark,
.gshop a.gshop-btn--ghost {
    color: var(--gs-ink);
}
.gshop a.gshop-btn--dark { color: #fff; }
.gshop a.gshop-btn--dark:hover { color: var(--gs-ink); }

/* ==========================================================================
   Toolbar (breadcrumb + sıralama + adet)
   ========================================================================== */
.gshop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 0 1.25rem;
    border-bottom: 1px solid var(--gs-line);
    flex-wrap: wrap;
}

.gshop-crumbs {
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.gshop-crumbs a {
    color: var(--gs-ink-muted);
    text-decoration: none;
}

.gshop-crumbs a:hover {
    color: var(--gs-ink);
}

.gshop-crumbs__sep {
    opacity: 0.45;
}

.gshop-crumbs__current {
    color: var(--gs-ink);
}

.gshop-toolbar__meta {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

.gshop-toolbar__count strong {
    color: var(--gs-ink);
    font-weight: 600;
}

.gshop-sort {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.gshop-sort select {
    border: 1px solid var(--gs-line);
    background: #fff;
    padding: 0.55rem 2rem 0.55rem 0.75rem;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gs-ink);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23111'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    background-size: 9px 6px;
    cursor: pointer;
}

/* ==========================================================================
   Ürün grid (kategori, online-özel, arama)
   ========================================================================== */
.gshop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.75rem 1.25rem;
    padding: 2rem 0 0;
}

@media (max-width: 1100px) { .gshop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 780px) { .gshop-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem 0.75rem; } }

.gshop-card {
    background: transparent;
    position: relative;
    display: flex;
    flex-direction: column;
}

.gshop-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.gshop-card__media {
    position: relative;
    overflow: hidden;
    background: var(--gs-surface);
    aspect-ratio: 4 / 5;
}

/* Fotoğrafın üzerine yazılan bilgiler için okunabilirlik scrim'i.
   Alttan yukarı doğru lineer siyah gradient; üst tarafı tamamen şeffaf. */
.gshop-card__media::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 62%;
    background: linear-gradient(to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.18) 38%,
        rgba(0, 0, 0, 0.55) 75%,
        rgba(0, 0, 0, 0.78) 100%);
    pointer-events: none;
    z-index: 1;
}

.gshop-card__img,
.gshop-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-slow, 600ms cubic-bezier(.16,1,.3,1));
}

.gshop-card:hover .gshop-card__img {
    transform: scale(1.035);
}

.gshop-card__badges {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    pointer-events: none;
}

.gshop-badge {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 0.3rem 0.55rem;
    background: var(--gs-badge-bg);
    color: var(--gs-badge-ink);
    line-height: 1;
    border-radius: 0;
}

.gshop-badge--sale {
    background: var(--gs-sale-ink);
    color: #fff;
}

.gshop-badge--web {
    background: #111;
    color: #fff;
}

.gshop-badge--camp {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.gshop-badge--soft {
    background: #fff;
    color: #111;
    border: 1px solid var(--gs-line-strong);
}

/* Stok / ön sipariş rozetleri — kart ve PDP için ortak */
.gshop-badge--preorder {
    background: #fff;
    color: #111;
    border: 1px solid #111;
    pointer-events: auto;
}

.gshop-badge--oos {
    background: #f0f0f0;
    color: #111;
    border: 1px solid var(--gs-line-strong);
    pointer-events: auto;
}

/* Fotoğraf üzerindeki küçük ETA / stok notu — overlay'in bir parçası */
.gshop-card__eta {
    margin: 0.45rem 0 0;
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

.gshop-card__eta--oos {
    color: #f0c8a5;
}

/* ----------------------------------------------------------------
   Kart bilgi bloğu — fotoğrafın ÜZERİNDE, her zaman görünür overlay
   (seri eyebrow + ürün adı + fiyat). Hover gerektirmez.
   ---------------------------------------------------------------- */
.gshop-card__body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(0.85rem, 1.6vw, 1.35rem) clamp(0.95rem, 1.8vw, 1.5rem) clamp(0.9rem, 1.6vw, 1.3rem);
    text-align: left;
    color: #fff;
    pointer-events: none; /* altındaki link tıklanmaya devam etsin */
}

/* Kart büyüyünce (col-md-6) overlay de biraz daha nefes alsın */
.gshop-card--large .gshop-card__body {
    padding: clamp(1rem, 2vw, 1.75rem) clamp(1rem, 2vw, 1.75rem) clamp(1.05rem, 1.8vw, 1.5rem);
}

.gshop-card__eyebrow {
    font-family: var(--font-sans);
    font-size: clamp(0.58rem, 0.72vw, 0.68rem);
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 0.5rem;
    line-height: 1.4;
}

.gshop-card__t {
    font-family: var(--font-serif);
    font-size: clamp(0.95rem, 1.35vw, 1.2rem);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: #fff;
    line-height: 1.25;
    margin: 0 0 0.55rem;
    text-wrap: balance;
}

/* Büyük kartlarda başlık biraz daha iri */
.gshop-card--large .gshop-card__t {
    font-size: clamp(1.1rem, 1.8vw, 1.5rem);
}

/* Hover'da underline yok — metin her zaman sabit */
.gshop-card__link:hover .gshop-card__t {
    color: #fff;
    text-decoration: none;
}

.gshop-prices {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
    font-family: var(--font-sans);
    font-size: clamp(0.78rem, 1vw, 0.92rem);
    letter-spacing: 0.04em;
    color: #fff;
}

.gshop-p--cur {
    color: #fff;
    font-weight: 500;
}

.gshop-p--old {
    text-decoration: line-through;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
}

/* Projeler sayfası: kart tıklanmaz; overlay altında a link yok */
.gshop-card--static .gshop-card__link {
    cursor: default;
}
.gshop-card__project-meta {
    margin: 0.4rem 0 0;
    font-family: var(--font-sans);
    font-size: clamp(0.7rem, 0.95vw, 0.86rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: none;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.78);
    max-width: 96%;
}

.gshop-p--sale {
    color: #ffb8a8;
    font-weight: 500;
}

/* Küçük ekranlarda overlay'in alt yoğunluğu ve padding'i biraz daha sıkı */
@media (max-width: 520px) {
    .gshop-card__media::after {
        height: 70%;
        background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.22) 30%,
            rgba(0, 0, 0, 0.6) 70%,
            rgba(0, 0, 0, 0.82) 100%);
    }
    .gshop-card__body { padding: 0.75rem 0.85rem 0.9rem; }
    .gshop-card__eyebrow { font-size: 0.58rem; letter-spacing: 0.22em; margin-bottom: 0.35rem; }
    .gshop-card__t { font-size: 0.98rem; margin-bottom: 0.4rem; }
    .gshop-card--large .gshop-card__t { font-size: 1.05rem; }
    .gshop-prices { font-size: 0.82rem; gap: 0.45rem; }
    .gshop-card__eta { font-size: 0.6rem; letter-spacing: 0.16em; margin-top: 0.35rem; }
}

/* ==========================================================================
   Landing (hero + kategori tile)
   ========================================================================== */
.gshop-landing__hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 0;
    min-height: 56vh;
    margin: 0 -1.5rem 2.5rem;
    background: #111;
    color: #fff;
}

@media (max-width: 900px) {
    .gshop-landing__hero { grid-template-columns: 1fr; min-height: auto; }
}

.gshop-landing__hero-media {
    position: relative;
    overflow: hidden;
    background: #0e0e0e;
    min-height: 340px;
}

.gshop-landing__hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gshop-landing__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem 3rem;
    background: #111;
    color: #f5f2ed;
}

.gshop-landing__hero-eyebrow {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #c9bfa5;
    margin-bottom: 1rem;
}

.gshop-landing__hero-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: 0.01em;
    margin: 0 0 1rem;
    color: #fff;
}

.gshop-landing__hero-text {
    font-size: 1rem;
    line-height: 1.7;
    color: #d8d2c3;
    max-width: 46ch;
    margin-bottom: 1.5rem;
}

.gshop-landing__hero-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.gshop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.95rem 1.6rem;
    border: 1px solid var(--gs-line-strong);
    background: #fff;
    color: var(--gs-ink);
    font-family: var(--font-sans);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.gshop-btn:hover {
    background: var(--gs-ink);
    color: #fff;
    border-color: var(--gs-ink);
}

.gshop-btn--dark {
    background: var(--gs-ink);
    color: #fff;
    border-color: var(--gs-ink);
}

.gshop-btn--dark:hover {
    background: #fff;
    color: var(--gs-ink);
    border-color: var(--gs-ink);
}

.gshop-btn--ghost-dark {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.gshop-btn--ghost-dark:hover {
    background: #fff;
    color: var(--gs-ink);
    border-color: #fff;
}

.gshop-btn--block {
    width: 100%;
}

/* Başlık kalıbı (tek satır eyebrow + büyük başlık) */
.gshop-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 2.5rem 0 1.5rem;
    border-bottom: 1px solid var(--gs-line);
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.gshop-section__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0 0 0.4rem;
}

.gshop-section__title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    margin: 0;
    color: var(--gs-ink);
}

.gshop-section__link {
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--gs-ink);
    padding-bottom: 0.25rem;
}

/* Kategori tile grid (landing) */
.gshop-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 3rem;
}

@media (max-width: 900px) { .gshop-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gshop-cats { grid-template-columns: 1fr; } }

.gshop-cat {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--gs-surface);
    color: #fff;
    text-decoration: none;
}

.gshop-cat img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(.16,1,.3,1), filter 0.5s ease;
    filter: brightness(0.82);
}

.gshop-cat:hover img {
    transform: scale(1.05);
    filter: brightness(0.7);
}

.gshop-cat__name {
    position: absolute;
    inset: auto 0 0 0;
    padding: 1.15rem 1.25rem 1.25rem;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 500;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gshop-cat__name::after {
    content: "→";
    font-size: 1rem;
    opacity: 0.75;
}

/* ==========================================================================
   Kategori sidebar + grid layout
   ========================================================================== */
.gshop-cat-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 2.5rem;
    padding-top: 1rem;
}

@media (max-width: 900px) {
    .gshop-cat-layout { grid-template-columns: 1fr; gap: 1rem; }
}

.gshop-filters {
    font-family: var(--font-sans);
    font-size: 0.76rem;
    color: var(--gs-ink);
    position: sticky;
    top: 100px;
    align-self: start;
    border-top: 1px solid var(--gs-line-strong);
    padding-top: 1rem;
}

.gshop-filters__group {
    border-bottom: 1px solid var(--gs-line);
    padding: 0.4rem 0 1rem;
    margin-bottom: 1rem;
}

.gshop-filters__title {
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--gs-ink);
    margin: 0.5rem 0 0.85rem;
}

.gshop-filters__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gshop-filters__list li {
    margin: 0.2rem 0;
}

.gshop-filters__link {
    display: block;
    padding: 0.35rem 0;
    color: var(--gs-ink-muted);
    text-decoration: none;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    transition: color 0.15s;
}

.gshop-filters__link:hover,
.gshop-filters__link.is-active {
    color: var(--gs-ink);
    text-decoration: underline;
    text-underline-offset: 0.28em;
}

/* ==========================================================================
   Ürün detay sayfası
   ========================================================================== */
.gshop-pdp {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 3rem;
    padding: 2rem 0 3rem;
    align-items: flex-start;
}

@media (max-width: 1000px) {
    .gshop-pdp { grid-template-columns: 1fr; gap: 1.5rem; }
}

.gshop-pdp__gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    align-self: start;
}

.gshop-pdp__gallery .main,
.gshop-pdp__gallery .thumb {
    background: #fff;
    overflow: hidden;
}

.gshop-pdp__gallery .main {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
}

.gshop-pdp__gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gshop-pdp__aside {
    padding: 0.5rem 0 0;
    position: sticky;
    top: 100px;
}

.gshop-pdp__designer {
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0 0 0.65rem;
}

.gshop-pdp__title {
    font-family: var(--font-serif);
    font-size: clamp(1.7rem, 2.4vw, 2.3rem);
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: 0.01em;
    margin: 0 0 0.9rem;
    color: var(--gs-ink);
}

.gshop-pdp__series {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 1.2rem;
}

.gshop-pdp__series a {
    color: var(--gs-ink);
    text-decoration: underline;
    text-underline-offset: 0.3em;
}

.gshop-pdp__prices {
    font-family: var(--font-sans);
    font-size: 1.15rem;
    display: flex;
    gap: 0.6rem;
    align-items: baseline;
    margin-bottom: 0.35rem;
}

.gshop-pdp__price {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--gs-ink);
}

.gshop-pdp__price--sale {
    color: var(--gs-sale-ink);
}

.gshop-pdp__old {
    font-size: 1rem;
    text-decoration: line-through;
    color: var(--gs-ink-faint);
}

.gshop-pdp__vat {
    font-size: 0.72rem;
    color: var(--gs-ink-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 1.4rem;
}

.gshop-pdp__summary {
    font-size: 1rem;
    line-height: 1.75;
    color: #1d1d1d;
    margin: 0 0 1.5rem;
    max-width: 52ch;
}

.gshop-pdp__meta {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.45rem 1.2rem;
    font-size: 0.82rem;
    color: var(--gs-ink-muted);
    border-top: 1px solid var(--gs-line);
    border-bottom: 1px solid var(--gs-line);
    padding: 1rem 0;
    margin: 1.2rem 0;
}

.gshop-pdp__meta dt {
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.7rem;
    color: var(--gs-ink);
    font-weight: 600;
}

.gshop-pdp__meta dd {
    margin: 0;
    color: #222;
}

.gshop-pdp__add {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
    margin-top: 1.2rem;
}

.gshop-pdp__qty {
    display: inline-flex;
    border: 1px solid var(--gs-line-strong);
}

.gshop-pdp__qty button {
    width: 42px;
    font-size: 1.1rem;
    background: #fff;
    color: var(--gs-ink);
    font-family: var(--font-sans);
}

.gshop-pdp__qty input {
    width: 48px;
    text-align: center;
    background: #fff;
    color: var(--gs-ink);
    font-weight: 600;
    font-size: 0.9rem;
    -moz-appearance: textfield;
}

.gshop-pdp__qty input::-webkit-outer-spin-button,
.gshop-pdp__qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.gshop-pdp__add .gshop-btn {
    flex: 1 1 auto;
}

.gshop-pdp__soldout {
    margin-top: 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--gs-line);
    background: var(--gs-surface);
    color: #5a2a22;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ============================================================
   Ön sipariş / stok — PDP blokları
   ============================================================ */
.gshop-pdp__eta {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 0 0 1.2rem;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--gs-line-strong);
    background: #ffffff;
    color: #111;
}

.gshop-pdp__eta--oos {
    background: #f5f5f5;
    border-color: #c8c8c8;
    color: #4c2c20;
}

.gshop-pdp__eta-ico {
    flex: 0 0 auto;
    margin-top: 0.15rem;
}

.gshop-pdp__eta-line {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
}

.gshop-pdp__eta-note {
    margin: 0.3rem 0 0;
    font-size: 0.78rem;
    color: var(--gs-ink-muted);
    letter-spacing: 0.01em;
    text-transform: none;
}

/* Stok durumu "pill"i — PDP meta dl içinde */
.gshop-pdp__stockpill {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--gs-line-strong);
}

.gshop-pdp__stockpill--in {
    background: #fff;
    color: #1a1a1a;
}

.gshop-pdp__stockpill--pre {
    background: #111;
    color: #fff;
    border-color: #111;
}

.gshop-pdp__stockpill--oos {
    background: #f5f5f5;
    color: #4c2c20;
    border-color: #c8c8c8;
}

/* Ön sipariş butonu vurgusu (beyaz üstünde daha net) */
.gshop-btn--preorder {
    background: #111;
    color: #fff;
}

.gshop-pdp__preorder-note {
    margin: 0.8rem 0 0;
    font-size: 0.78rem;
    color: var(--gs-ink-muted);
    line-height: 1.6;
}

/* "Stoğa gelince haber ver" formu */
.gshop-pdp__notify {
    margin-top: 1.2rem;
    padding: 1rem;
    border: 1px solid var(--gs-line);
    background: #fff;
}

.gshop-pdp__notify-label {
    display: block;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink);
    margin-bottom: 0.55rem;
}

.gshop-pdp__notify-row {
    display: flex;
    gap: 0.5rem;
}

.gshop-pdp__notify-input {
    flex: 1 1 auto;
    height: 42px;
    padding: 0 0.75rem;
    border: 1px solid var(--gs-line-strong);
    background: #fff;
    color: var(--gs-ink);
    font-size: 0.9rem;
    font-family: var(--font-sans);
}

.gshop-pdp__notify-input:focus {
    outline: none;
    border-color: #111;
}

.gshop-pdp__notify .gshop-btn {
    flex: 0 0 auto;
}

/* Sepet satırlarında ön sipariş göstergesi */
.gshop-cart__preorder {
    margin: 0.3rem 0 0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.gshop-cart__eta {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

/* Açılır kapanır bilgi bölümleri */
.gshop-pdp__accordion {
    margin-top: 2rem;
    border-top: 1px solid var(--gs-line);
}

.gshop-pdp__acc {
    border-bottom: 1px solid var(--gs-line);
}

.gshop-pdp__acc > summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 0;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gs-ink);
    font-weight: 600;
    position: relative;
}

.gshop-pdp__acc > summary::-webkit-details-marker {
    display: none;
}

.gshop-pdp__acc > summary::after {
    content: "+";
    position: absolute;
    right: 0.1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--gs-ink);
}

.gshop-pdp__acc[open] > summary::after {
    content: "−";
}

.gshop-pdp__acc-body {
    padding: 0.25rem 0 1.25rem;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #222;
}

.gshop-pdp__acc-body ul {
    margin: 0.5rem 0 0.5rem 1.2rem;
    padding: 0;
}

.gshop-pdp__acc-body ul li {
    list-style: disc;
    margin-bottom: 0.35rem;
}

/* ==========================================================================
   Koleksiyonlar (seri) grid
   ========================================================================== */
.gshop-collections {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding-top: 2rem;
}

@media (max-width: 900px) { .gshop-collections { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gshop-collections { grid-template-columns: 1fr; } }

.gshop-collection {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1.05;
    background: var(--gs-surface);
    display: block;
    color: #fff;
    text-decoration: none;
}

.gshop-collection img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(.16,1,.3,1);
}

.gshop-collection:hover img {
    transform: scale(1.06);
}

.gshop-collection__label {
    position: absolute;
    inset: auto 0 0 0;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.gshop-collection__name {
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #fff;
}

.gshop-collection__desc {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 30ch;
    line-height: 1.45;
}

/* ==========================================================================
   Online-özel sayfası (banner)
   ========================================================================== */
.gshop-online-banner {
    background: #0f0f0f;
    color: #fff;
    padding: 3rem 2rem;
    margin: 1rem 0 2rem;
    text-align: center;
    border: 1px solid #111;
}

.gshop-online-banner__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gs-accent);
    margin-bottom: 0.75rem;
}

.gshop-online-banner__title {
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 500;
    margin: 0 0 0.75rem;
}

.gshop-online-banner__text {
    font-size: 0.95rem;
    color: #d8d2c3;
    max-width: 52ch;
    margin: 0 auto;
    line-height: 1.7;
}

/* ==========================================================================
   Sepet + sipariş formu
   ========================================================================== */
.gshop-cart {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 2.5rem;
    padding-top: 1rem;
}

@media (max-width: 900px) {
    .gshop-cart { grid-template-columns: 1fr; }
}

.gshop-cart__title {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0 0 1rem;
}

.gshop-cart__empty {
    text-align: center;
    padding: 4rem 1rem;
    border: 1px dashed var(--gs-line);
    color: var(--gs-ink-muted);
    font-family: var(--font-sans);
    font-size: 0.95rem;
}

.gshop-cart__empty--prominent {
    padding: 3rem 1rem;
}

.gshop-cart__empty-title {
    font-family: var(--font-serif);
    font-size: clamp(1.2rem, 2.8vw, 1.45rem);
    font-weight: 400;
    margin: 0 0 0.5rem;
    color: var(--gs-ink);
    line-height: 1.25;
}

.gshop-cart__empty-lead {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    color: var(--gs-ink-muted);
    line-height: 1.55;
    margin: 0 0 1.5rem;
    max-width: 38ch;
    margin-left: auto;
    margin-right: auto;
}

.gshop-cart__list {
    border-top: 1px solid var(--gs-line);
}

.gshop-cart__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(9.5rem, auto) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid var(--gs-line);
}

a.gshop-cart__pdp,
.gshop-cart__pdp--nolink {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
a.gshop-cart__pdp:hover .gshop-cart__name {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.gshop-cart__pdp-body { min-width: 0; flex: 1; }

@media (max-width: 640px) {
    .gshop-cart__row {
        grid-template-columns: 1fr;
    }
    .gshop-cart__pdp { width: 100%; }
    a.gshop-cart__pdp,
    .gshop-cart__pdp--nolink {
        grid-column: 1;
        grid-row: 1;
    }
    .gshop-cart__row .gshop-cart__unit,
    .gshop-cart__row .gshop-cart__qty-actions,
    .gshop-cart__row .gshop-cart__total {
        grid-column: 1 / -1;
    }
    .gshop-cart__qty-actions {
        justify-content: space-between;
        flex-wrap: nowrap;
    }
}

.gshop-cart__thumb {
    width: 96px;
    height: 96px;
    object-fit: cover;
    background: var(--gs-surface);
    display: block;
    flex-shrink: 0;
}

/* Sepet + sipariş özeti: ürün adı — kart / PDP ile aynı serif */
.gshop-cart__name,
.gshop-co-summary__name {
    font-family: var(--font-serif);
    font-size: clamp(0.9rem, 1.05vw, 1.05rem);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--gs-ink);
    line-height: 1.3;
    margin: 0 0 0.2rem;
    text-decoration: none;
}

.gshop-cart__sku {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    color: var(--gs-ink-faint);
    text-transform: uppercase;
}

.gshop-cart__unit {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    color: var(--gs-ink-muted);
    font-variant-numeric: tabular-nums;
}

.gshop-cart__qty-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.gshop-cart__qty--stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--gs-line-strong);
    flex-shrink: 0;
}

.gshop-cart__qty-btn {
    width: 38px;
    min-height: 38px;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1;
    background: #fff;
    color: var(--gs-ink);
    font-family: var(--font-sans);
    cursor: pointer;
    transition: background 0.15s ease;
}

.gshop-cart__qty-btn:hover {
    background: #f5f5f5;
}

.gshop-cart__qty--stepper input {
    width: 46px;
    min-height: 38px;
    box-sizing: border-box;
    border: 0;
    border-left: 1px solid var(--gs-line);
    border-right: 1px solid var(--gs-line);
    padding: 0 0.25rem;
    text-align: center;
    background: #fff;
    color: var(--gs-ink);
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 0.88rem;
    -moz-appearance: textfield;
}

.gshop-cart__qty--stepper input::-webkit-outer-spin-button,
.gshop-cart__qty--stepper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.gshop-cart__total {
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--gs-ink);
    font-variant-numeric: tabular-nums;
}

.gshop-cart__remove {
    border: none;
    background: transparent;
    color: var(--gs-ink-muted);
    cursor: pointer;
    padding: 0.35rem;
    margin: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 2.4rem;
    min-height: 2.4rem;
    box-sizing: border-box;
    border-radius: 2px;
    transition: color 0.15s ease, background 0.15s ease;
}

.gshop-cart__remove-icon {
    display: block;
    flex-shrink: 0;
}

.gshop-cart__remove:hover,
.gshop-cart__remove:focus-visible {
    color: var(--gs-sale-ink);
    background: rgba(156, 58, 42, 0.06);
    outline: none;
}

.gshop-cart__remove:focus-visible {
    box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.2);
}

.gshop-cart__actions {
    display: flex;
    justify-content: space-between;
    padding: 1rem 0;
    gap: 1rem;
    flex-wrap: wrap;
}

.gshop-checkout .gshop-cart__actions {
    margin-top: 1rem;
}

/* Sepet: masaüstü kısa / mobil uzun “devam” etiketi */
.gshop-cart__continue-txt--long {
    display: none;
}

@media (max-width: 640px) {
    .gshop-checkout .gshop-cart__actions {
        flex-wrap: nowrap;
        gap: 0.45rem;
        align-items: stretch;
    }
    .gshop-checkout .gshop-cart__actions .gshop-btn {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        text-align: center;
        padding: 0.55rem 0.42rem;
        font-size: 0.62rem;
        letter-spacing: 0.1em;
        line-height: 1.3;
    }
    .gshop-cart__continue-txt--short {
        display: none;
    }
    .gshop-cart__continue-txt--long {
        display: inline;
    }
}

.gshop-cart__summary {
    background: var(--gs-surface);
    border: 1px solid var(--gs-line);
    padding: 1.5rem 1.5rem 1.75rem;
    align-self: start;
    position: sticky;
    top: 100px;
}

.gshop-cart__sum-title {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--gs-ink);
    margin: 0 0 1rem;
}

.gshop-cart__sum-row {
    display: flex;
    justify-content: space-between;
    padding: 0.4rem 0;
    font-size: 0.9rem;
    color: var(--gs-ink-muted);
    font-variant-numeric: tabular-nums;
}

.gshop-cart__sum-row--total {
    border-top: 1px solid var(--gs-line-strong);
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    color: var(--gs-ink);
    font-size: 1rem;
    font-weight: 600;
}

.gshop-cart__small {
    font-size: 0.75rem;
    color: var(--gs-ink-faint);
    line-height: 1.55;
    margin-top: 0.5rem;
}

/* Form */
.gshop-form { display: grid; gap: 0.9rem; margin-top: 1rem; }

.gshop-form__row { display: block; }

.gshop-form__label {
    display: block;
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink);
    margin: 0 0 0.35rem;
}

.gshop-form__input,
.gshop-form__textarea {
    width: 100%;
    border: 1px solid var(--gs-line-strong);
    padding: 0.8rem 0.9rem;
    background: #fff;
    color: var(--gs-ink);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    border-radius: 0;
}

.gshop-form__input:focus,
.gshop-form__textarea:focus {
    outline: 2px solid var(--gs-ink);
    outline-offset: -1px;
}

.gshop-form__textarea { min-height: 100px; resize: vertical; }

.gshop-form__row-inline { display: flex; gap: 0.75rem; }
.gshop-form__row-inline > * { flex: 1; }

.gshop-form__checkbox {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.8rem;
    color: var(--gs-ink-muted);
    line-height: 1.55;
}

.gshop-form__checkbox a {
    color: var(--gs-ink);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* Secondary "ghost" button */
.gshop-btn--ghost {
    background: transparent;
    color: var(--gs-ink);
    border: 1px solid var(--gs-ink);
    padding: 0.75rem 1.3rem;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease;
}

.gshop-btn--ghost:hover { background: var(--gs-ink); color: #fff; }

/* ==========================================================================
   Sipariş takip
   ========================================================================== */
.gshop-track {
    max-width: 520px;
    margin: 0 auto;
    padding: 2rem 0 0;
}

.gshop-track__lead {
    text-align: center;
    font-size: 0.95rem;
    color: var(--gs-ink-muted);
    margin: 0 0 1.5rem;
    line-height: 1.65;
}

.gshop-track__result {
    border: 1px solid var(--gs-line);
    background: var(--gs-surface);
    padding: 1.5rem 1.75rem;
    margin-top: 2rem;
}
.gshop-track__actions {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--gs-line);
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.gshop-track__result h2 {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    font-weight: 500;
    margin: 0 0 0.5rem;
}

.gshop-track__steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin: 1.25rem 0 1.5rem;
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    border-top: 1px solid var(--gs-line);
    padding-top: 1rem;
}

.gshop-track__step {
    text-align: center;
    padding: 0 0.35rem;
    position: relative;
}

.gshop-track__step::before {
    content: "";
    width: 10px;
    height: 10px;
    background: #fff;
    border: 1.5px solid var(--gs-line-strong);
    display: block;
    margin: 0 auto 0.4rem;
    border-radius: 50%;
}

.gshop-track__step.is-done::before { background: var(--gs-ink); border-color: var(--gs-ink); }
.gshop-track__step.is-active::before { background: var(--gs-accent); border-color: var(--gs-accent); }
.gshop-track__step.is-done,
.gshop-track__step.is-active { color: var(--gs-ink); font-weight: 600; }

.gshop-kv {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 1rem;
    font-size: 0.88rem;
    color: var(--gs-ink-muted);
}

.gshop-kv dt {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink);
    font-weight: 600;
}

.gshop-alert {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #7a2c22;
    padding: 0.75rem 1rem;
    font-family: var(--font-sans);
    font-size: 0.88rem;
    margin: 0 0 1rem;
    line-height: 1.5;
}

/* Page-level subhero override for shop (hafifçe yumuşak) */
.gshop-subhero {
    background: var(--gs-ink);
    color: #fff;
    padding: 7rem 1.5rem 3rem;
    text-align: center;
}

.gshop-subhero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gs-accent);
    margin: 0 0 0.8rem;
}

.gshop-subhero__title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 500;
    letter-spacing: 0.01em;
    margin: 0;
    color: #fff;
}

.gshop-subhero__text {
    color: #cfc8b8;
    font-size: 1rem;
    line-height: 1.7;
    max-width: 52ch;
    margin: 1rem auto 0;
}

/* ==========================================================================
   FLUID container (tüm genişlik) — koleksiyon/koleksiyon detay/PDP
   ========================================================================== */
.gshop--fluid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.gshop-toolbar--padded {
    padding-left: clamp(1rem, 3vw, 2.5rem);
    padding-right: clamp(1rem, 3vw, 2.5rem);
}

/* ==========================================================================
   Paylaşılan sayfa hero kartı (Koleksiyonlar mantığıyla aynı)
   Ürünler, Online Özel gibi sayfaların üstünde kullanılan full-bleed
   tanıtım bölümü. Görsel + eyebrow + başlık + kısa metin + CTA + scroll-ipi.
   ========================================================================== */
.gshop-pagehero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    color: #fff;
    background: #0d0d0d center / cover no-repeat;
    border-bottom: 10px solid #fff;
}

@supports (height: 100dvh) {
    .gshop-pagehero { height: 100dvh; min-height: 100dvh; }
}

.gshop-pagehero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}

.gshop-pagehero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.08) 70%, rgba(0,0,0,0.18) 100%);
    z-index: 1;
}

.gshop-pagehero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: clamp(1.75rem, 4vw, 3.5rem) clamp(1.5rem, 5vw, 4rem) clamp(3.5rem, 7vw, 6rem);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.gshop-pagehero__eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 0.45rem 0.75rem;
    max-width: 100%;
    line-height: 1.5;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.88);
    margin: 0 0 1rem;
}

.gshop-pagehero__dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    display: inline-block;
    flex-shrink: 0;
}

/* Dar ekran: eyebrow metni satıra sığsın, satırlar arası nefes alsın */
@media (max-width: 720px) {
    .gshop-pagehero__inner {
        gap: 0.55rem;
    }
    .gshop-pagehero__eyebrow {
        font-size: 0.66rem;
        letter-spacing: 0.2em;
        row-gap: 0.6rem;
        column-gap: 0.5rem;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }
    .gshop-pagehero__eyebrow > span {
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .gshop-pagehero__eyebrow {
        font-size: 0.62rem;
        letter-spacing: 0.16em;
        row-gap: 0.65rem;
    }
}

.gshop-pagehero__title {
    font-family: var(--font-serif);
    font-size: clamp(2.2rem, 5vw, 4.25rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0;
    color: #fff;
    margin: 0 0 1.1rem;
}

.gshop-pagehero__desc {
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
    margin: 0 0 1.6rem;
}

.gshop-pagehero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    align-self: flex-start;
    padding: 0.85rem 1.4rem;
    font-family: var(--font-sans);
    font-size: 0.74rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,0.82);
    background: transparent;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.gshop-pagehero__cta:hover {
    background: #fff;
    color: #111;
    border-color: #fff;
}

.gshop-pagehero__scroll {
    position: absolute;
    left: 50%;
    bottom: clamp(1.5rem, 3vw, 2.5rem);
    transform: translateX(-50%);
    z-index: 2;
    width: 1px;
    height: clamp(36px, 5vw, 58px);
    opacity: 0.7;
    display: block;
}

.gshop-pagehero__scroll-line {
    display: block;
    width: 1px;
    height: 100%;
    background: #fff;
    transform-origin: top;
    animation: gshop-pagehero-line 2.2s cubic-bezier(.7,0,.3,1) infinite;
}

@keyframes gshop-pagehero-line {
    0%   { transform: scaleY(0);   transform-origin: top; }
    45%  { transform: scaleY(1);   transform-origin: top; }
    55%  { transform: scaleY(1);   transform-origin: bottom; }
    100% { transform: scaleY(0);   transform-origin: bottom; }
}

/* ==========================================================================
   Bölüm başlığı — hero'nun altındaki sayfa içi başlık (editorial)
   ========================================================================== */
.gshop-section-head {
    text-align: center;
    padding: clamp(2.5rem, 5vw, 4rem) 1.25rem clamp(1.25rem, 2.5vw, 2rem);
    max-width: 720px;
    margin: 0 auto;
}

.gshop-section-head__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 0.6rem;
}

.gshop-section-head__title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.8vw, 2.4rem);
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 0.6rem;
    color: var(--gs-ink);
}

.gshop-section-head__count {
    font-family: var(--font-sans);
    font-size: 0.74rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0;
}

.gshop-section-head__count strong {
    color: var(--gs-ink);
    font-weight: 600;
}

/* Boş durum mesajı */
.gshop-empty {
    text-align: center;
    padding: clamp(3rem, 6vw, 5rem) 1.5rem;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--gs-ink-muted);
    border: 1px dashed var(--gs-line);
    margin: 0 auto;
    max-width: 560px;
}

/* ==========================================================================
   Koleksiyonlar — tam genişlik + tam yükseklik yığın (her item 100vh)
   Breadcrumb vs üst çubuk yok; kartlar sayfa sınırına kadar uzanır.
   ========================================================================== */
.gshop-collections-page {
    padding: 0;
    margin: 0;
}

/* Subhero kapatıldığı sayfalarda <main>'in alt padding'i de sıfırlansın ki
   son kart footer'a kadar kesintisiz uzansın. */
body.gshop-page--no-subhero .gardenist-cms { padding: 0; min-height: 0; }

.gshop-collections--stacked {
    display: block;
    padding: 0;
    margin: 0;
    grid-template-columns: none;
    gap: 0;
}

.gshop-collection--full {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: auto;
    /* Tam genişlik + tam yükseklik: viewport'u tamamen doldur */
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    /* Kartlar arasında ince beyaz şerit — son kart hariç */
    border-bottom: 10px solid #fff;
}

.gshop-collection--full:last-child { border-bottom: 0; }

/* Sayfanın hemen başında site header olduğu için ilk karta mobilde
   daha sıkı fit ve küçük ekranlarda scroll'u kolaylaştırmak için
   dynamic viewport birimi (dvh) fallback'i */
@supports (height: 100dvh) {
    .gshop-collection--full { height: 100dvh; min-height: 100dvh; }
}

.gshop-collection--full .gshop-collection__media {
    position: absolute;
    inset: 0;
    margin: 0;
    background-size: cover;
    background-position: center;
    background-color: #0d0d0d;
}

.gshop-collection--full .gshop-collection__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(.16,1,.3,1);
}

.gshop-collection--full:hover .gshop-collection__media img {
    transform: scale(1.04);
}

.gshop-collection__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0) 70%);
    display: flex;
    align-items: flex-end;
}

.gshop-collection__inner {
    width: 100%;
    padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1.25rem, 5vw, 4rem);
    max-width: 820px;
}

.gshop-collection__eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.82);
    margin: 0 0 0.6rem;
}

.gshop-collection--full .gshop-collection__name {
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: #fff;
    margin: 0 0 0.9rem;
    line-height: 1.1;
    display: block;
}

.gshop-collection--full .gshop-collection__desc {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.88);
    max-width: 60ch;
    line-height: 1.7;
    margin: 0 0 1.2rem;
    display: block;
}

.gshop-collection__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.74rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #fff;
    padding: 0.7rem 1.2rem;
    border: 1px solid rgba(255,255,255,0.8);
    transition: background 0.3s ease, color 0.3s ease;
}

.gshop-collection--full:hover .gshop-collection__cta {
    background: #fff;
    color: #111;
}

/* ==========================================================================
   Koleksiyon detay — üst hero + 2 kolon grid
   ========================================================================== */
.gshop-collection-hero {
    position: relative;
    min-height: clamp(260px, 42vh, 520px);
    background-size: cover;
    background-position: center;
    background-color: #0d0d0d;
    display: flex;
    align-items: flex-end;
    color: #fff;
    margin-bottom: 2rem;
}

.gshop-collection-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0.1));
}

.gshop-collection-hero__overlay {
    position: relative;
    padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1.25rem, 5vw, 4rem);
    max-width: 780px;
}

.gshop-collection-hero__eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin: 0 0 0.6rem;
}

.gshop-collection-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 3.6vw, 3.1rem);
    font-weight: 500;
    color: #fff;
    margin: 0 0 0.8rem;
    line-height: 1.1;
}

.gshop-collection-hero__text {
    color: rgba(255,255,255,0.9);
    font-size: 1rem;
    line-height: 1.75;
    margin: 0;
}

/* 2 kolon grid (col-md-6) — kategori/koleksiyon/online-ozel detay
   Not: Yanal/alt boşluklar sayfa sarmalayıcı (.gshop-*-page) tarafından veriliyor;
   burası yalnız grid dokusunu tanımlar. Boşluklar Ürünler sayfasındaki kategori
   grid'i ile aynı (clamp(0.5rem, 1.2vw, 1rem)). */
.gshop-grid--two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.5rem, 1.2vw, 1rem);
    padding: 0;
    margin: 0;
}

@media (max-width: 680px) {
    .gshop-grid--two { grid-template-columns: 1fr; gap: 0.5rem; }
}

.gshop-card--large .gshop-card__media {
    aspect-ratio: 4 / 3;
}
.gshop-card__media--cover picture {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
}
.gshop-card__media--cover picture .gshop-card__img,
.gshop-card__media--cover .gshop-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gshop-pagehero--catalog > picture,
.gshop-pagehero--catalog picture {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
}
.gshop-pagehero--catalog .gshop-pagehero__img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Not: .gshop-card--large .gshop-card__t için font-size artık overlay bloğu
   içinde clamp() ile tanımlı; burada tekrar override etmiyoruz. */

/* ==========================================================================
   Ürün detay (PDP) — fluid, Swiper + Fancybox
   ========================================================================== */
.gshop-pdp-wrap .gshop-pdp--fluid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 0;
    padding: 0;
    align-items: start;
}

@media (max-width: 1000px) {
    .gshop-pdp-wrap .gshop-pdp--fluid {
        grid-template-columns: 1fr;
    }
}

.gshop-pdp--fluid .gshop-pdp__gallery {
    background: #fff;
    padding: 0;
}

/* ==========================================================================
   Ürün detay galerisi (SNOC pattern) — sol sticky thumb şeridi + ortada
   alt alta tüm fotoğraflar, tıklandığında Fancybox ile büyür.
   ========================================================================== */
.gshop-pdp--fluid .gshop-pdp__gallery.gshop-pdp__gallery--stack {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem 1.25rem 1.25rem 1rem;
    align-items: stretch;
    background: #fff;
}

@media (max-width: 900px) {
    .gshop-pdp--fluid .gshop-pdp__gallery.gshop-pdp__gallery--stack {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.5rem;
        padding: 0.5rem;
    }
}

@media (max-width: 640px) {
    .gshop-pdp--fluid .gshop-pdp__gallery.gshop-pdp__gallery--stack {
        grid-template-columns: 1fr;
    }
}

/* Sol thumb sütunu — grid hücresini işgal eden placeholder; içindeki aside
   JS ile sticky yönetilir (parent overflow nedeniyle CSS sticky güvenilir değil) */
.gshop-pdp-vthumbs-col {
    position: relative;
    width: 96px;
    min-width: 96px;
    align-self: stretch;
    height: auto;
}

.gshop-pdp-vthumbs {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    width: 96px;
    z-index: 3;
}

@media (max-width: 900px) {
    .gshop-pdp-vthumbs-col,
    .gshop-pdp-vthumbs { width: 72px; min-width: 72px; }
}

@media (max-width: 640px) {
    .gshop-pdp-vthumbs-col { width: auto; min-width: 0; }
    .gshop-pdp-vthumbs {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 0.5rem;
        padding: 0.25rem 0;
    }
}

@media (max-width: 640px) {
    .gshop-pdp-vthumbs {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 0.5rem;
        padding: 0.25rem 0;
    }
}

.gshop-pdp-vthumb {
    display: block;
    width: 96px;
    height: 76px;
    padding: 0;
    margin: 0;
    border: 1.5px solid transparent;
    background: #fff;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s ease, border-color 0.2s ease;
    flex: 0 0 auto;
    overflow: hidden;
}

@media (max-width: 900px) {
    .gshop-pdp-vthumb {
        width: 72px;
        height: 58px;
    }
}

@media (max-width: 640px) {
    .gshop-pdp-vthumb {
        width: 72px;
        height: 72px;
    }
}

.gshop-pdp-vthumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gshop-pdp-vthumb:hover { opacity: 0.9; }
/* Aktif thumb: kaydırırken hangi fotoğrafta olunduğu net okunmalı —
   soluk/dolu farkı tek başına yeterince belirgin değildi. */
.gshop-pdp-vthumb {
    opacity: 0.45;
}
.gshop-pdp-vthumb.is-active {
    opacity: 1;
    border-color: #111;
    border-width: 2px;
    box-shadow: 0 0 0 1px #111;
}

/* Ana yığın kolonu — tüm fotoğraflar alt alta */
.gshop-pdp-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.gshop-pdp-img {
    display: block;
    width: 100%;
    background: #fff;
    overflow: hidden;
    cursor: zoom-in;
    scroll-margin-top: 100px;
}

.gshop-pdp-img img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s ease;
}

.gshop-pdp-img:hover img { transform: scale(1.01); }

/* Sağ bilgi paneli sticky (SNOC aynen) */
.gshop-pdp--fluid .gshop-pdp__aside {
    padding: clamp(1.5rem, 3.5vw, 3.5rem) clamp(1.25rem, 3vw, 3rem);
    position: sticky;
    top: 96px;
    align-self: start;
}

@media (max-width: 1000px) {
    .gshop-pdp--fluid .gshop-pdp__aside { position: static; }
}


/* ==========================================================================
   Renk seçici (fotoğraf swatch)
   ========================================================================== */
.gshop-pdp__badge-row {
    margin: 0 0 0.9rem;
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.gshop-pdp__colors {
    margin: 1.25rem 0 0.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--gs-line);
}

.gshop-pdp__label {
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 0.75rem;
}

.gshop-pdp__color-name {
    color: var(--gs-ink);
    font-weight: 500;
    margin-left: 0.4rem;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.82rem;
}

.gshop-pdp__swatches {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.gshop-swatch {
    display: block;
    width: 60px;
    height: 60px;
    border: 2px solid transparent;
    background: #fff;
    overflow: hidden;
    padding: 0;
    transition: border 0.2s ease, transform 0.2s ease;
    outline: 1px solid rgba(0,0,0,0.06);
    outline-offset: 0;
}

.gshop-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gshop-swatch:hover { border-color: #999; }
.gshop-swatch.is-active { border-color: #111; outline-color: #111; }

/* ==========================================================================
   Ölçüler / Materyaller / Teknik dosyalar
   ========================================================================== */
.gshop-pdp__spec-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gshop-pdp__spec-list li {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--gs-line);
    font-size: 0.92rem;
    color: var(--gs-ink);
    line-height: 1.55;
}

.gshop-pdp__spec-list li:last-child { border-bottom: 0; }

.gshop-pdp__files {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gshop-pdp__files li { padding: 0.35rem 0; }

.gshop-pdp__files a {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.9rem;
    color: var(--gs-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.gshop-pdp__files a:hover { color: var(--gs-accent-dark); }

.gshop-pdp__muted {
    color: var(--gs-ink-faint);
    font-size: 0.9rem;
    margin: 0;
}

/* ==========================================================================
   İlgili ürünler (koleksiyondaki diğer ürünler)
   ========================================================================== */
.gshop-pdp-related {
    padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2.5rem) 3rem;
    border-top: 1px solid var(--gs-line);
    margin-top: 3rem;
}

.gshop-pdp-related__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.gshop-pdp-related__title {
    font-family: var(--font-serif);
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
    font-weight: 500;
    margin: 0;
}

.gshop-pdp-related__more {
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gs-ink);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.gshop-pdp-related .gshop-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem 1rem;
}

@media (max-width: 1100px) { .gshop-pdp-related .gshop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .gshop-pdp-related .gshop-grid { grid-template-columns: repeat(2, 1fr); } }
/* PDP “bu koleksiyondaki diğer ürünler”: mobilde col-12 — tek sütun, alt alta */
@media (max-width: 768px)  { .gshop-pdp-related .gshop-grid { grid-template-columns: 1fr; gap: 1.5rem 0; } }

/* ==========================================================================
   PDP — Tam genişlik kapak banner'ı
   Galeri ile Tasarım Hikayesi arasında yer alır.
   Üstte serinin adı (eyebrow), altında full-bleed kapak fotoğrafı.
   ========================================================================== */
.gshop-pdp-cover {
    width: 100%;
    border-top: 1px solid var(--gs-line);
    background: #fff;
    padding: clamp(2rem, 4vw, 3.25rem) 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gshop-pdp-cover__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--gs-ink);
    margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
    text-align: center;
    padding: 0 1.25rem;
}

.gshop-pdp-cover__eyebrow-suffix {
    color: var(--gs-ink-muted);
    margin-left: 0.4rem;
    font-weight: 400;
}

.gshop-pdp-cover__media {
    width: 100%;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 21 / 9;
    background: #fff;
}

@media (max-width: 900px) {
    .gshop-pdp-cover__media { aspect-ratio: 16 / 10; }
}

@media (max-width: 640px) {
    .gshop-pdp-cover__media { aspect-ratio: 4 / 3; }
}

.gshop-pdp-cover__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.6s ease;
}

.gshop-pdp-cover:hover .gshop-pdp-cover__media img {
    transform: scale(1.02);
}

/* ==========================================================================
   Tasarım Hikayesi (PDP altında ayrı row)
   ========================================================================== */
.gshop-pdp-story {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: center;
    padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
    border-top: 1px solid var(--gs-line);
    background: var(--gs-bg);
}

@media (max-width: 900px) {
    .gshop-pdp-story {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

.gshop-pdp-story__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #fff;
}

.gshop-pdp-story__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(.16,1,.3,1);
}

.gshop-pdp-story:hover .gshop-pdp-story__media img {
    transform: scale(1.03);
}

.gshop-pdp-story__copy {
    max-width: 60ch;
}

.gshop-pdp-story__eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gs-accent-dark);
    margin: 0 0 0.9rem;
}

.gshop-pdp-story__title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    font-weight: 500;
    color: var(--gs-ink);
    line-height: 1.15;
    margin: 0 0 1.25rem;
}

.gshop-pdp-story__text p {
    font-size: 1rem;
    line-height: 1.85;
    color: var(--gs-ink-muted);
    margin: 0 0 1rem;
}

.gshop-pdp-story__text p:last-child { margin-bottom: 0; }

/* ==========================================================================
   PDP — Bilgi bölümleri (Müşteri Hizmetleri, Kargo, Materyaller, Teknik)
   İki ayrı row, her satırda iki kart (col-md-6). Beyaz zemin.
   ========================================================================== */
.gshop-pdp-details {
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 4vw, 4rem);
    background: #fff;
    border-top: 1px solid var(--gs-line);
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.75rem);
}

.gshop-pdp-details__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1rem, 2vw, 1.75rem);
}

@media (max-width: 900px) {
    .gshop-pdp-details__row { grid-template-columns: 1fr; }

    /* Row 1 — Müşteri hizmetleri + Kargo & teslimat: mobilde kart + liste daha okunaklı */
    .gshop-pdp-details__row:first-child {
        gap: 0.85rem;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__card {
        background: var(--gs-surface);
        border-color: var(--gs-line);
        border-radius: 2px;
        padding: 1.1rem 1rem 1.15rem;
        gap: 0.55rem;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__title {
        font-family: var(--font-sans);
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: var(--gs-ink-muted);
        border-bottom: 0;
        padding-bottom: 0.25rem;
        margin: 0;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__body > p {
        font-size: 0.86rem;
        line-height: 1.55;
        margin-bottom: 0.55rem;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__list {
        margin-top: 0.35rem;
        gap: 0;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__list li {
        display: block;
        padding: 0.65rem 0;
        border-bottom: 1px solid var(--gs-line);
        gap: 0;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__list li:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__k {
        display: block;
        margin: 0 0 0.2rem;
        font-size: 0.64rem;
        letter-spacing: 0.14em;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__v {
        display: block;
        font-size: 0.88rem;
        line-height: 1.45;
        word-break: break-word;
    }
    .gshop-pdp-details__row:first-child .gshop-pdp-details__v a {
        display: inline;
    }
}

.gshop-pdp-details__card {
    background: #fff;
    border: 1px solid var(--gs-line);
    padding: clamp(1.5rem, 2.5vw, 2.25rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gshop-pdp-details__title {
    font-family: var(--font-serif, var(--font-sans));
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    letter-spacing: 0.01em;
    color: var(--gs-ink);
    margin: 0 0 0.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--gs-line);
}

.gshop-pdp-details__body p {
    font-size: 0.95rem;
    line-height: 1.75;
    color: var(--gs-ink-muted);
    margin: 0 0 0.75rem;
}

.gshop-pdp-details__body p:last-child { margin-bottom: 0; }

.gshop-pdp-details__list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.gshop-pdp-details__list li {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px dashed var(--gs-line);
    align-items: baseline;
}

.gshop-pdp-details__list li:last-child { border-bottom: 0; }

.gshop-pdp-details__k {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

.gshop-pdp-details__v {
    font-size: 0.95rem;
    color: var(--gs-ink);
    text-decoration: none;
}

a.gshop-pdp-details__v:hover { text-decoration: underline; }

.gshop-pdp-details__bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.gshop-pdp-details__bullets li {
    position: relative;
    padding-left: 1.1rem;
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--gs-ink);
}

.gshop-pdp-details__bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 0.45rem;
    height: 1px;
    background: var(--gs-ink);
}

.gshop-pdp-details__files {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.gshop-pdp-details__files li + li { border-top: 1px solid var(--gs-line); }

.gshop-pdp-details__files a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 0;
    color: var(--gs-ink);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 160ms ease;
}

.gshop-pdp-details__files a:hover { color: #000; }
.gshop-pdp-details__files a svg { flex-shrink: 0; }
.gshop-pdp-details__files a span:nth-of-type(1) { flex: 1; }

.gshop-pdp-details__meta {
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

/* ==========================================================================
   PDP — Ürün şeması / Teknik özellikler
   (SNOC paterni: her parça için siluet + ölçü listesi, sayfanın en altında)
   ========================================================================== */
.gshop-pdp-schema {
    padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem) clamp(3.5rem, 7vw, 6rem);
    border-top: 1px solid var(--gs-line);
    background: #fff;
}

.gshop-pdp-schema__head {
    text-align: center;
    margin: 0 auto clamp(2rem, 4vw, 3rem);
    max-width: 640px;
}

.gshop-pdp-schema__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 0.5rem;
}

.gshop-pdp-schema__title {
    font-family: var(--font-serif, var(--font-sans));
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    letter-spacing: 0.02em;
    font-weight: 500;
    color: var(--gs-ink);
    margin: 0 0 0.6rem;
}

.gshop-pdp-schema__sub {
    font-size: 0.88rem;
    line-height: 1.7;
    color: var(--gs-ink-muted);
    margin: 0;
}

.gshop-pdp-schema__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: clamp(1rem, 2vw, 1.75rem);
    align-items: stretch;
}

.gshop-pdp-schema__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 1.5rem 1.25rem 1.75rem;
    border: 1px solid var(--gs-line);
    background: #fff;
    transition: border-color 160ms ease;
}

.gshop-pdp-schema__item:hover {
    border-color: var(--gs-line-strong);
}

.gshop-pdp-schema__icon {
    width: 100%;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gs-ink);
    margin-bottom: 1rem;
}

.gshop-pdp-schema__icon svg {
    width: 100%;
    max-width: 150px;
    height: auto;
}

.gshop-pdp-schema__cap {
    width: 100%;
}

.gshop-pdp-schema__name {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--gs-ink);
    margin: 0 0 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--gs-line);
}

.gshop-pdp-schema__dims {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.gshop-pdp-schema__dims li {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    color: var(--gs-ink);
}

.gshop-pdp-schema__k {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    font-weight: 600;
    min-width: 1rem;
}

.gshop-pdp-schema__v {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.gshop-pdp-schema__u {
    font-size: 0.72rem;
    color: var(--gs-ink-muted);
    margin-left: 0.15rem;
}

.gshop-pdp-schema__legend {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--gs-line);
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

.gshop-pdp-schema__legend strong {
    color: var(--gs-ink);
    font-weight: 700;
    margin-right: 0.15rem;
}

@media (max-width: 640px) {
    .gshop-pdp-schema__grid { grid-template-columns: 1fr; }
    .gshop-pdp-schema__legend { gap: 0.8rem; font-size: 0.68rem; }
}

/* Fancybox koyu tema uyumu */
.fancybox__container { --fancybox-bg: rgba(10,10,10,0.95); }


/* ==========================================================================
   ÜRÜNLER SAYFASI — KATEGORİ GRİD'İ (col-md-4, fluid container)
   Bootstrap container-fluid davranışı: full width + küçük yan gutterlar.
   Tek parçalı kartlar: görsel + üzerinde kategori adı overlay'i.
   ========================================================================== */
.gshop-catgrid-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(0.5rem, 1.2vw, 1rem) clamp(0.5rem, 1.2vw, 1rem) clamp(2rem, 4vw, 3.5rem);
}

.gshop-catgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.5rem, 1.2vw, 1rem);
    margin: 0;
}

@media (max-width: 1024px) {
    .gshop-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .gshop-catgrid { grid-template-columns: 1fr; gap: 0.5rem; }
}

.gshop-catcard {
    position: relative;
    display: block;
    overflow: hidden;
    background: #f0f0f0;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
}

.gshop-catcard__media {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f0f0f0;
}

.gshop-catcard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.gshop-catcard:hover .gshop-catcard__media img {
    transform: scale(1.04);
}

.gshop-catcard__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.55) 100%);
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.gshop-catcard__name {
    position: absolute;
    left: clamp(1rem, 2vw, 1.75rem);
    right: clamp(1rem, 2vw, 1.75rem);
    bottom: clamp(1rem, 2vw, 1.6rem);
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(1.35rem, 2.2vw, 1.9rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,0.35);
    z-index: 2;
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.gshop-catcard:hover .gshop-catcard__name {
    transform: translateY(-4px);
}

/* ==========================================================================
   KATEGORİ / KOLEKSİYON / ONLINE-ÖZEL DETAY — tam ekran hero sonrası fluid grid
   Üç sayfa aynı sarmalayıcıyı kullanır:
     - container-fluid davranışı (yan boşluklar Ürünler sayfasıyla aynı)
     - hero altında ufak bir üst boşluk
     - col-md-6 iki kolonlu .gshop-grid--two grid'ini barındırır
   ========================================================================== */
.gshop-collection-page,
.gshop-online-page,
.gshop-category-page,
.gshop-catalog-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(0.5rem, 1.2vw, 1rem) clamp(0.5rem, 1.2vw, 1rem) clamp(2rem, 4vw, 3.5rem);
}

/* Hero altındaki ilk grid'in ek üst marjı olmasın — padding yeterli */
.gshop-collection-page .gshop-grid--two,
.gshop-online-page .gshop-grid--two,
.gshop-category-page .gshop-grid--two,
.gshop-catalog-page .gshop-grid--two {
    margin-top: 0;
}

/* Üç sayfa hero'su: merkez odaklı görsel ve ince başlık */
.gshop-pagehero--collection .gshop-pagehero__img,
.gshop-pagehero--online .gshop-pagehero__img,
.gshop-pagehero--category .gshop-pagehero__img,
.gshop-pagehero--catalog .gshop-pagehero__img {
    object-position: center center;
}

.gshop-pagehero--collection .gshop-pagehero__title,
.gshop-pagehero--online .gshop-pagehero__title,
.gshop-pagehero--category .gshop-pagehero__title,
.gshop-pagehero--catalog .gshop-pagehero__title {
    letter-spacing: -0.015em;
}

/* Diğer kategoriler mini-navigasyonu */
.gshop-catnav {
    margin-top: clamp(2.5rem, 5vw, 4.5rem);
    padding-top: clamp(1.5rem, 3vw, 2.25rem);
    border-top: 1px solid var(--gs-line);
    text-align: center;
}

.gshop-catnav__label {
    margin: 0 0 1rem;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
}

.gshop-catnav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem 0.6rem;
}

.gshop-catnav__link {
    display: inline-block;
    padding: 0.55rem 1.1rem;
    border: 1px solid var(--gs-line, #dedede);
    background: transparent;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    color: var(--gs-ink, #0a0a0a);
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Hover/focus: koyu zemin + beyaz yazı. Token çözülmezse beyaz-üstü-beyaz
   yazıya düşmemek için renklerde yedek değer var; seçici .gshop-catnav ile
   güçlendirildi ki başka bir kural rengi ezmesin. */
.gshop-catnav .gshop-catnav__link:hover,
.gshop-catnav .gshop-catnav__link:focus,
.gshop-catnav .gshop-catnav__link:focus-visible {
    background: var(--gs-ink, #0a0a0a);
    color: #fff;
    border-color: var(--gs-ink, #0a0a0a);
}

.gshop-catnav__link--all {
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

/* ==========================================================================
   SEPET ONAY MODALI — "Sepete ekle" butonu için özel dialog
   ========================================================================== */
.gshop-dialog-root { position: relative; z-index: 9100; }

.gshop-dialog {
    position: fixed;
    inset: 0;
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}
.gshop-dialog.is-open { opacity: 1; pointer-events: auto; }

.gshop-dialog__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.58);
    backdrop-filter: blur(4px);
}

.gshop-dialog__card {
    position: relative;
    background: #fff;
    color: #0a0a0a;
    width: min(460px, calc(100% - 2rem));
    border-radius: 2px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
    transform: translateY(8px);
    transition: transform 0.18s ease;
}
.gshop-dialog.is-open .gshop-dialog__card { transform: translateY(0); }

.gshop-dialog__body { padding: 1.6rem 1.7rem 1.5rem; }
@media (max-width: 480px) {
    .gshop-dialog__body { padding: 1.2rem 1.05rem 1.2rem; }
    .gshop-dialog__card { width: min(460px, calc(100% - 1.25rem)); }
}

.gshop-dialog__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.66rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #6b6b6b;
    margin: 0 0 1rem;
}
.gshop-dialog__eyebrow--success { color: #1b6b3c; }

.gshop-dialog__product {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    padding: 0.85rem 0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 1rem;
}

.gshop-dialog__thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    background: #f0f0f0;
    flex-shrink: 0;
}

.gshop-dialog__name {
    font-family: var(--font-serif);
    font-size: 1.02rem;
    margin: 0 0 0.25rem;
    line-height: 1.25;
}

.gshop-dialog__meta {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    color: #6b6b6b;
    margin: 0;
    letter-spacing: 0.04em;
}

.gshop-dialog__pre { color: #a86a1a; }

.gshop-dialog__text {
    font-family: var(--font-sans);
    font-size: 0.88rem;
    color: #3e3e3e;
    line-height: 1.5;
    margin: 0 0 0.9rem;
}

/* Vazgeç + Sepete ekle (veya sonraki ekran: Devam / Sepete git): mobilde de yan yana, eşit genişlik */
.gshop-dialog__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 0.55rem;
    width: 100%;
    align-items: stretch;
    margin-top: 0.15rem;
}

.gshop-dialog__actions .gshop-btn,
.gshop-dialog__actions a.gshop-btn {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    font-size: clamp(0.62rem, 2.6vw, 0.7rem);
    padding: 0.85rem 0.4rem;
}

.gshop-btn--ghost {
    background: #fff !important;
    color: #0a0a0a !important;
    border: 1px solid #0a0a0a !important;
}
.gshop-btn--ghost:hover { background: #0a0a0a !important; color: #fff !important; }

/* ==========================================================================
   TOAST
   ========================================================================== */
.gshop-toast {
    position: fixed;
    left: 50%;
    bottom: 1.75rem;
    transform: translate(-50%, 16px);
    z-index: 9200;
    background: #0a0a0a;
    color: #fff;
    padding: 0.85rem 1.25rem;
    font-family: var(--font-sans);
    font-size: 0.86rem;
    letter-spacing: 0.02em;
    border-radius: 2px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    opacity: 0;
    transition: opacity 0.22s ease, transform 0.22s ease;
    pointer-events: none;
    max-width: min(560px, calc(100% - 2rem));
}
.gshop-toast.is-open { opacity: 1; transform: translate(-50%, 0); }
.gshop-toast--err { background: #7a1f1f; }

/* ==========================================================================
   CHECKOUT — aşama göstergesi
   ========================================================================== */
.gshop-checkout {
    max-width: 1200px;
    margin: 0 auto;
    font-family: var(--font-sans);
    color: var(--gs-ink);
    /* Üstte: fixed header (70px) + nefes alacak boşluk */
    padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 3vw, 2rem) 4rem;
}

/* Sepet sayfası: container fluid */
.gshop-checkout--fluid {
    max-width: none;
    margin: 0;
    padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 2.2vw, 2.5rem) 4rem;
}

.gshop-checkout--fluid .gshop-co-grid {
    grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 2.6vw, 2.5rem);
}

@media (max-width: 960px) {
    .gshop-checkout--fluid .gshop-co-grid { grid-template-columns: 1fr; }
}

.gshop-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
    font-family: var(--font-sans);
    flex-wrap: wrap;
}

.gshop-steps__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #8b8b8b;
    font-size: 0.74rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 0 1.1rem;
}

.gshop-steps__num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #d6d3cb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    letter-spacing: 0;
    color: #8b8b8b;
}

.gshop-steps__item--done,
.gshop-steps__item--active { color: #0a0a0a; }
.gshop-steps__item--done .gshop-steps__num,
.gshop-steps__item--active .gshop-steps__num {
    background: #0a0a0a;
    color: #fff;
    border-color: #0a0a0a;
}

.gshop-steps__sep {
    flex: 0 0 36px;
    height: 1px;
    background: #d6d3cb;
    align-self: center;
}

/* Dar ekran: 3 aşama tek satır, ayırıcılar esner — wrap ile satır kırılmasın */
@media (max-width: 768px) {
    .gshop-checkout,
    .gshop-checkout--fluid {
        padding-left: max(0.65rem, env(safe-area-inset-left));
        padding-right: max(0.65rem, env(safe-area-inset-right));
    }
    .gshop-steps {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.35fr) minmax(0, 1.15fr) minmax(0, 0.35fr) minmax(0, 1.15fr);
        align-items: center;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-bottom: 1.5rem;
    }
    .gshop-steps__item {
        flex-wrap: nowrap;
        min-width: 0;
        padding: 0;
        font-size: 0.58rem;
        letter-spacing: 0.06em;
        gap: 0.4rem;
        justify-content: center;
    }
    .gshop-steps__item > span:last-child {
        min-width: 0;
    }
    .gshop-steps__num {
        width: 24px;
        height: 24px;
        font-size: 0.68rem;
        flex-shrink: 0;
    }
    .gshop-steps__sep {
        width: 100%;
        min-width: 0;
        flex: unset;
    }
}

/* --------------------------------------------------------------------------
   Çok dar telefon: etiket alt satıra inebilsin, yine de tek ızgara satırı
   (num + kısa başlık dikey) — yatay alan ciddi kazanır
   -------------------------------------------------------------------------- */
@media (max-width: 420px) {
    .gshop-steps {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.22fr) minmax(0, 1fr) minmax(0, 0.22fr) minmax(0, 1fr);
    }
    .gshop-steps__item {
        flex-direction: column;
        gap: 0.2rem;
        font-size: 0.5rem;
        letter-spacing: 0.04em;
        line-height: 1.2;
    }
    .gshop-steps__num {
        width: 22px;
        height: 22px;
    }
    .gshop-steps__sep {
        align-self: start;
        margin-top: 11px;
    }
}

/* ==========================================================================
   CHECKOUT — iki kolon yerleşim: form + özet kart
   ========================================================================== */
.gshop-co-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    /* Sütunlar solda/üstte: sol sütun form yüksekliğine göre. Sağ: align-self: stretch (satırla aynı yükseklik) — sticky parent alanı. */
    align-items: start;
    min-height: 0;
}

/* Sağ hücre, sol form kadar yüksek olsun (görünümsüz); sticky gerçek kart .gshop-co-summary__box içinde */
.gshop-co-grid > .gshop-co-summary {
    align-self: stretch;
    min-height: 0;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    display: block;
}
.gshop-co-summary__box {
    position: sticky;
    top: max(0.75rem, calc(70px + 0.85rem + env(safe-area-inset-top, 0px)));
    z-index: 2;
    background: #fff;
    border: 1px solid var(--gs-line);
    padding: clamp(1.25rem, 2.2vw, 1.75rem);
    box-sizing: border-box;
}

@media (max-width: 960px) {
    .gshop-co-grid { grid-template-columns: 1fr; }
    .gshop-co-grid > .gshop-co-summary { align-self: start; }
}

.gshop-co-card {
    background: #fff;
    border: 1px solid var(--gs-line);
    padding: clamp(1.25rem, 2.4vw, 2rem);
}

.gshop-co-card h2,
.gshop-co-card__title {
    font-family: var(--font-serif);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 400;
    margin: 0 0 1.25rem;
    color: var(--gs-ink);
}

.gshop-co-card__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0 0 0.4rem;
}

.gshop-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}
.gshop-field-grid .gshop-field--full { grid-column: 1 / -1; }

@media (max-width: 520px) {
    .gshop-field-grid { grid-template-columns: 1fr; }
}

.gshop-field { display: flex; flex-direction: column; }
.gshop-field label {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 0.35rem;
}
.gshop-field input,
.gshop-field textarea {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--gs-line);
    padding: 0.55rem 0 0.6rem;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--gs-ink);
    border-radius: 0;
    transition: border-color 0.15s ease;
}
/* Select'ler: tarayıcı default'u kaba; kutu + custom ok (bilgi/ödeme formları) */
.gshop .gshop-field > select,
.gshop .gshop-phone__code {
    width: 100%;
    min-height: 2.6rem;
    background-color: #fff;
    border: 1px solid var(--gs-line);
    border-radius: 2px;
    padding: 0.5rem 2.35rem 0.5rem 0.75rem;
    font-family: var(--font-sans);
    font-size: 0.9rem;
    line-height: 1.35;
    color: var(--gs-ink);
    letter-spacing: 0.02em;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color-scheme: only light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%230a0a0a' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.65rem center;
    background-size: 12px 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.gshop .gshop-field > select:hover,
.gshop .gshop-phone__code:hover {
    border-color: #c8c4bc;
}
.gshop .gshop-field > select:focus,
.gshop .gshop-phone__code:focus {
    outline: none;
    border-color: var(--gs-ink);
    box-shadow: 0 0 0 1px var(--gs-ink);
}
.gshop .gshop-field > select:disabled,
.gshop .gshop-phone__code:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    background-color: #f5f4f1;
}
.gshop-field input:focus,
.gshop-field textarea:focus {
    outline: none;
    border-color: var(--gs-ink);
}
.gshop-field textarea { min-height: 110px; resize: vertical; }

.gshop-co-consent {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    margin: 1.25rem 0 1.5rem;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    color: var(--gs-ink-muted);
    line-height: 1.55;
}
.gshop-co-consent input { margin-top: 3px; }
.gshop-co-consent a { color: var(--gs-ink); text-decoration: underline; }

.gshop-co-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
    flex-wrap: wrap;
}

.gshop-co-back {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding: 0.2rem 0;
}
.gshop-co-back:hover {
    color: var(--gs-ink);
    border-bottom-color: var(--gs-ink);
}

/* Sipariş özeti: dış <aside> grid’de sadece yükseklik verir; kart + sticky .gshop-co-summary__box */
.gshop-co-summary__title {
    font-family: var(--font-serif);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 400;
    margin: 0 0 1rem;
    color: var(--gs-ink);
    line-height: 1.2;
}
.gshop-co-summary__list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    max-height: 280px;
    overflow-y: auto;
}
.gshop-co-summary__row {
    display: block;
    padding: 0.6rem 0;
    border-top: 1px solid var(--gs-line);
}
.gshop-co-summary__row:first-child { border-top: 0; }
a.gshop-co-summary__pdp,
.gshop-co-summary__pdp--nolink {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    gap: 0.65rem;
    text-decoration: none;
    color: inherit;
}
a.gshop-co-summary__pdp:hover .gshop-co-summary__name {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.gshop-co-summary__pdp-text {
    flex: 1 1 0;
    min-width: 0;
}
.gshop-co-summary__thumb {
    width: 52px;
    height: 52px;
    object-fit: cover;
    background: #f0f0f0;
    flex-shrink: 0;
}

/* Mobil: sepet listesi + sipariş özetinde küçük resim yok (daha sade) */
@media (max-width: 640px) {
    .gshop-checkout .gshop-cart__thumb,
    .gshop-checkout .gshop-co-summary__thumb {
        display: none !important;
    }
    /* Sipariş özeti: tam genişlik satır; alt satır (birim + Nx + toplam) aynı blokta */
    .gshop-checkout a.gshop-co-summary__pdp,
    .gshop-checkout .gshop-co-summary__pdp--nolink {
        gap: 0;
    }
    .gshop-checkout .gshop-co-summary__pdp-text {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
    }
    .gshop-checkout .gshop-co-summary__name {
        width: 100%;
    }
    .gshop-checkout .gshop-co-summary__subline {
        width: 100%;
        margin-top: 0.35rem;
    }
}

/* Ürün adının altı: birim fiyat · Nx · … · satır toplamı (sağ) */
.gshop-co-summary__subline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem 0.65rem;
    width: 100%;
    max-width: 100%;
    margin-top: 0.28rem;
    font-family: var(--font-sans);
    font-size: 0.78rem;
    color: var(--gs-ink-muted);
    letter-spacing: 0.02em;
}

.gshop-co-summary__subline .gshop-co-summary__unit {
    margin: 0;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gshop-co-summary__mult {
    margin: 0;
    font-weight: 600;
    color: var(--gs-ink-muted);
    white-space: nowrap;
    letter-spacing: 0.04em;
}

.gshop-co-summary__subline .gshop-co-summary__price {
    margin: 0 0 0 auto;
    font-family: var(--font-sans);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gs-ink);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.gshop-co-summary__totals { border-top: 1px solid var(--gs-line); padding-top: 0.85rem; }
.gshop-co-summary__sum {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-sans);
    font-size: 0.88rem;
    color: var(--gs-ink-muted);
    padding: 0.32rem 0;
}
.gshop-co-summary__sum--grand {
    color: var(--gs-ink);
    font-size: 1.05rem;
    font-weight: 500;
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--gs-line);
}
.gshop-co-summary__tiny {
    margin-top: 0.85rem;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    color: var(--gs-ink-faint);
    letter-spacing: 0.04em;
    line-height: 1.5;
}

/* Checkout gövde notları (bilgi / ödeme — inline yerine) */
.gshop-checkout__hint {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    color: var(--gs-ink-muted);
    line-height: 1.55;
    margin: 0.75rem 0 0;
}

.gshop-checkout__hint--lg {
    font-size: 0.85rem;
}

.gshop-checkout__hint a {
    color: var(--gs-ink);
    text-decoration: underline;
}

.gshop-checkout__hint strong {
    color: var(--gs-ink);
    font-weight: 600;
}

.gshop-co-consent small {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    color: var(--gs-ink-muted);
    font-weight: 400;
}

.gshop-co-footnote {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    color: var(--gs-ink-faint);
    letter-spacing: 0.04em;
    line-height: 1.55;
    margin-top: 1rem;
}

.gshop-co-ship-card {
    margin-top: 1.25rem;
    border-top: 1px solid var(--gs-line);
    padding-top: 1rem;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    color: var(--gs-ink-muted);
    line-height: 1.55;
}

.gshop-co-ship-card__label {
    color: var(--gs-ink);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.68rem;
    margin: 0 0 0.5rem;
}

.gshop-co-ship-card__line {
    margin: 0.15rem 0;
    color: var(--gs-ink);
}

.gshop-co-ship-card__line--tight {
    margin: 0;
}

/* ==========================================================================
   ÖDEME KARTI — görsel kredi kartı önizlemesi
   ========================================================================== */
.gshop-card-preview {
    position: relative;
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1.586 / 1;
    margin: 0 auto 1.75rem;
    border-radius: 12px;
    background: linear-gradient(135deg, #0a0a0a 0%, #2a2a2a 55%, #4a4a4a 100%);
    color: #fff;
    padding: 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    font-family: var(--font-sans);
    letter-spacing: 0.02em;
}
.gshop-card-preview__brand {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    opacity: 0.85;
}

.gshop-card-preview__scheme {
    opacity: 0.8;
}
.gshop-card-preview__chip {
    width: 36px; height: 26px; border-radius: 4px;
    background: linear-gradient(135deg, #d6b96a 0%, #8d7537 100%);
}
.gshop-card-preview__num {
    font-size: clamp(1.05rem, 2.2vw, 1.28rem);
    letter-spacing: 0.18em;
    font-variant-numeric: tabular-nums;
    margin: 0;
    word-spacing: 0.25em;
}
.gshop-card-preview__foot {
    display: flex;
    justify-content: space-between;
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    opacity: 0.88;
}
.gshop-card-preview__foot strong {
    display: block;
    font-weight: 400;
    font-size: 0.92rem;
    letter-spacing: 0.08em;
    color: #fff;
    margin-top: 2px;
    text-transform: none;
}

/* ==========================================================================
   SİPARİŞ ÖZETİ — detaylı tablo (alışveriş sonrası)
   ========================================================================== */
.gshop-receipt {
    max-width: 1100px;
    margin: 0 auto;
    padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 3vw, 2rem) 4rem;
    font-family: var(--font-sans);
    color: var(--gs-ink);
}
/* Sipariş özeti: tam genişlik (container fluid) */
.gshop-receipt--fluid {
    max-width: none;
    margin: 0;
    padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 2.2vw, 2.5rem) 4rem;
}
.gshop-receipt__hero {
    text-align: center;
    padding: clamp(1.5rem, 3vw, 2.5rem) 1rem 2.25rem;
    border-bottom: 1px solid var(--gs-line);
    margin-bottom: 2rem;
}
.gshop-receipt__hero .tick {
    display: inline-flex;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: #0a0a0a;
    color: #fff;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: 1rem;
}
.gshop-receipt__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    margin: 0 0 0.5rem;
}
.gshop-receipt__title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.6vw, 2.15rem);
    font-weight: 400;
    margin: 0 0 0.35rem;
}
.gshop-receipt__sub {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--gs-ink-muted);
    margin: 0;
}
.gshop-receipt__code {
    display: inline-block;
    margin-top: 0.75rem;
    padding: 0.35rem 0.9rem;
    border: 1px solid var(--gs-line-strong);
    font-family: var(--font-sans);
    font-size: 0.88rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.gshop-receipt__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.25rem);
    align-items: start;
}
@media (max-width: 960px) {
    .gshop-receipt__layout { grid-template-columns: 1fr; }
}

.gshop-receipt__panel {
    background: #fff;
    border: 1px solid var(--gs-line);
    padding: clamp(1.25rem, 2.4vw, 2rem);
}
.gshop-receipt__panel h3 {
    font-family: var(--font-serif);
    font-size: 1.18rem;
    font-weight: 400;
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--gs-line);
}

.gshop-receipt__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: 0.9rem;
}
.gshop-receipt__table th,
.gshop-receipt__table td {
    padding: 0.85rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid var(--gs-line);
    vertical-align: top;
}
.gshop-receipt__table thead th {
    font-size: 0.68rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gs-ink-muted);
    font-weight: 500;
    border-bottom: 1px solid var(--gs-line-strong);
}
.gshop-receipt__table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gshop-receipt__table .gshop-receipt__prodname {
    font-family: var(--font-serif);
    font-size: 0.98rem;
    color: var(--gs-ink);
    margin: 0 0 0.15rem;
}
.gshop-receipt__table .gshop-receipt__prodsku {
    font-size: 0.74rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0;
}

.gshop-receipt__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Sipariş özeti — geniş ekran: tablo; mobil: kart (JS gerekmeden) */
.gshop-receipt__item-cards {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
}
.gshop-receipt__item-card {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    border-bottom: 1px solid var(--gs-line);
    padding: 0.9rem 0 1rem;
}
.gshop-receipt__item-name {
    font-family: var(--font-serif);
    font-size: 1.02rem;
    color: var(--gs-ink);
    margin: 0 0 0.35rem;
    line-height: 1.35;
}
.gshop-receipt__item-sku {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gs-ink-faint);
    margin: 0 0 0.6rem;
}
.gshop-receipt__item-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    color: var(--gs-ink);
}
.gshop-receipt__item-label {
    color: var(--gs-ink-muted);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 500;
    margin-right: 0.25rem;
}
.gshop-receipt__item-gross {
    margin-left: auto;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
}
.gshop-receipt__item-meta {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--gs-ink-muted);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 720px) {
    .gshop-receipt--fluid .gshop-receipt__panel--items {
        padding: clamp(1rem, 4vw, 1.4rem);
    }
    .gshop-receipt__table-wrap {
        display: none;
    }
    .gshop-receipt__item-cards {
        display: block;
    }
}

.gshop-receipt__totals {
    margin-top: 1.25rem;
    display: flex;
    justify-content: flex-end;
}
.gshop-receipt__totals dl {
    margin: 0;
    width: min(380px, 100%);
    font-family: var(--font-sans);
    font-size: 0.92rem;
}
.gshop-receipt__totals dl > div {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-top: 1px dashed var(--gs-line);
}
.gshop-receipt__totals dl > div:first-child { border-top: 0; }
.gshop-receipt__totals dt { color: var(--gs-ink-muted); }
.gshop-receipt__totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.gshop-receipt__totals .is-grand {
    margin-top: 0.35rem;
    border-top: 1px solid var(--gs-line-strong);
    font-size: 1.05rem;
}
.gshop-receipt__totals .is-grand dt,
.gshop-receipt__totals .is-grand dd { color: var(--gs-ink); font-weight: 500; }

.gshop-receipt__info dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.55rem 1.1rem;
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.9rem;
}
.gshop-receipt__info dt {
    color: var(--gs-ink-muted);
    letter-spacing: 0.04em;
}
.gshop-receipt__info dd { margin: 0; color: var(--gs-ink); }

.gshop-receipt__actions {
    text-align: center;
    margin-top: 2.5rem;
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* ==========================================================================
   ÇEKOUT / SİPARİŞ ÖZETİ — beyaz arka plan için solid header
   Hero fotoğrafı olmayan sayfalarda (sepet → bilgi → ödeme → özet) menü
   metinleri beyaz arka plan üzerinde görünmez kalmasın diye header'ı
   kalıcı olarak "scrolled" (koyu) görünümüne sabitliyoruz.
   ========================================================================== */
body.gshop-page:has(.gshop-checkout) .header,
body.gshop-page:has(.gshop-receipt) .header,
body.gshop-page:has(.gshop-search-page) .header,
body.gshop-page--catalog-pdf .header,
body.gshop-auth-page .header,
body.gshop-page:has(.gshop-auth) .header,
body.gshop-page:has(.gshop-account) .header {
    background: rgba(10, 10, 10, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 1px 0 var(--border);
}
body.gshop-page:has(.gshop-checkout) .header .header__logo-dark,
body.gshop-page:has(.gshop-receipt) .header .header__logo-dark,
body.gshop-page:has(.gshop-search-page) .header .header__logo-dark,
body.gshop-page--catalog-pdf .header .header__logo-dark,
body.gshop-auth-page .header .header__logo-dark,
body.gshop-page:has(.gshop-auth) .header .header__logo-dark,
body.gshop-page:has(.gshop-account) .header .header__logo-dark { opacity: 0; }
body.gshop-page:has(.gshop-checkout) .header .header__logo-light,
body.gshop-page:has(.gshop-receipt) .header .header__logo-light,
body.gshop-page:has(.gshop-search-page) .header .header__logo-light,
body.gshop-page--catalog-pdf .header .header__logo-light,
body.gshop-auth-page .header .header__logo-light,
body.gshop-page:has(.gshop-auth) .header .header__logo-light,
body.gshop-page:has(.gshop-account) .header .header__logo-light { opacity: 1; }
body.gshop-page:has(.gshop-checkout) .header .nav__link,
body.gshop-page:has(.gshop-receipt) .header .nav__link,
body.gshop-page:has(.gshop-search-page) .header .nav__link,
body.gshop-page--catalog-pdf .header .nav__link,
body.gshop-auth-page .header .nav__link,
body.gshop-page:has(.gshop-auth) .header .nav__link,
body.gshop-page:has(.gshop-account) .header .nav__link { color: var(--text-on-dark); }
body.gshop-page:has(.gshop-checkout) .header .header__action svg,
body.gshop-page:has(.gshop-receipt) .header .header__action svg,
body.gshop-page:has(.gshop-search-page) .header .header__action svg,
body.gshop-page--catalog-pdf .header .header__action svg,
body.gshop-auth-page .header .header__action svg,
body.gshop-page:has(.gshop-auth) .header .header__action svg,
body.gshop-page:has(.gshop-account) .header .header__action svg { stroke: var(--text-on-dark); }
body.gshop-page:has(.gshop-checkout) .header .header__phone,
body.gshop-page:has(.gshop-receipt) .header .header__phone,
body.gshop-page:has(.gshop-search-page) .header .header__phone,
body.gshop-page--catalog-pdf .header .header__phone,
body.gshop-auth-page .header .header__phone,
body.gshop-page:has(.gshop-auth) .header .header__phone,
body.gshop-page:has(.gshop-account) .header .header__phone { color: var(--text-on-dark); }
body.gshop-page:has(.gshop-checkout) .header .header__social svg,
body.gshop-page:has(.gshop-receipt) .header .header__social svg,
body.gshop-page:has(.gshop-search-page) .header .header__social svg,
body.gshop-page--catalog-pdf .header .header__social svg,
body.gshop-auth-page .header .header__social svg,
body.gshop-page:has(.gshop-auth) .header .header__social svg,
body.gshop-page:has(.gshop-account) .header .header__social svg { fill: var(--text-on-dark); }
body.gshop-page:has(.gshop-checkout) .header .header__lang-active,
body.gshop-page:has(.gshop-receipt) .header .header__lang-active,
body.gshop-page:has(.gshop-search-page) .header .header__lang-active,
body.gshop-page--catalog-pdf .header .header__lang-active,
body.gshop-auth-page .header .header__lang-active,
body.gshop-page:has(.gshop-auth) .header .header__lang-active,
body.gshop-page:has(.gshop-account) .header .header__lang-active { color: var(--text-on-dark); }
body.gshop-page:has(.gshop-checkout) .header .header__hamburger span,
body.gshop-page:has(.gshop-receipt) .header .header__hamburger span,
body.gshop-page:has(.gshop-search-page) .header .header__hamburger span,
body.gshop-page--catalog-pdf .header .header__hamburger span,
body.gshop-auth-page .header .header__hamburger span,
body.gshop-page:has(.gshop-auth) .header .header__hamburger span,
body.gshop-page:has(.gshop-account) .header .header__hamburger span { background: var(--text-on-dark); }

/* ==========================================================================
   Auth (giriş / kayıt / hesabım) — beyaz zeminli editorial kart
   ========================================================================== */
.gshop-auth,
.gshop-account {
    padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem);
    background: #fff;
    color: var(--gs-ink);
    min-height: 70vh;
}
.gshop-auth__wrap { max-width: 520px; margin: 0 auto; }
.gshop-auth__card {
    background: #fff;
    border: 1px solid var(--gs-line);
    padding: clamp(1.5rem, 4vw, 2.75rem);
}
.gshop-auth__eyebrow {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--gs-muted);
    margin: 0 0 0.6rem;
}
.gshop-auth__title {
    font-family: var(--font-display, serif);
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    margin: 0 0 0.65rem;
    color: var(--gs-ink);
}
.gshop-auth__sub {
    color: var(--gs-muted);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0 0 1.6rem;
}
.gshop-auth__form { display: flex; flex-direction: column; gap: 1rem; }
.gshop-auth__form .gshop-field-grid { gap: 1rem; }
.gshop-auth__alt {
    text-align: center;
    margin: 1.25rem 0 0;
    font-size: 0.88rem;
    color: var(--gs-muted);
}
.gshop-auth__alt a {
    color: var(--gs-ink);
    text-decoration: underline;
    margin-left: 0.25rem;
}
.gshop-auth__alt a:hover { opacity: 0.75; }
.gshop-field__hint {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    color: var(--gs-ink-muted);
    margin: 0.25rem 0 0;
    line-height: 1.45;
}

/* ==========================================================================
   Hesabım (dashboard)
   ========================================================================== */
.gshop-account__wrap { max-width: 1200px; margin: 0 auto; }
.gshop-account__head { margin-bottom: clamp(2rem, 4vw, 3rem); }
.gshop-account__eyebrow {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--gs-muted);
    margin: 0 0 0.5rem;
}
.gshop-account__title {
    font-family: var(--font-display, serif);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 400;
    margin: 0 0 0.35rem;
}
.gshop-account__sub { color: var(--gs-muted); margin: 0; font-size: 0.95rem; }
.gshop-account__grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
    min-width: 0;
}
/* Mobilde: siparişler bölümü (main) contact kartının üstüne */
@media (max-width: 820px) {
    .gshop-account__grid { grid-template-columns: 1fr; }
    .gshop-account__main { order: 1; }
    .gshop-account__panel { order: 2; }
}
.gshop-account__main {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
.gshop-account__panel {
    border: 1px solid var(--gs-line);
    padding: 1.4rem;
    background: #fff;
}
.gshop-account__panel h3 {
    font-family: var(--font-display, serif);
    font-size: 1.15rem;
    font-weight: 400;
    margin: 0 0 0.85rem;
    letter-spacing: 0.01em;
}
.gshop-account__panel dl {
    margin: 0 0 1.2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem 0;
    font-size: 0.88rem;
}
.gshop-account__panel dt {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-muted);
    margin-top: 0.35rem;
}
.gshop-account__panel dd { margin: 0; color: var(--gs-ink); }
.gshop-account__actions { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1.15rem; }
.gshop-account-edit__h {
    font-size: 1.05rem;
    margin: 1.25rem 0 0.35rem;
    color: var(--gs-ink);
    font-weight: 600;
}
.gshop-account-edit__hint { margin: 0 0 0.75rem; }
.gshop-account-edit__actions { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1.25rem; }
.gshop-account__section-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0 0 1rem;
    gap: 1rem;
    flex-wrap: wrap;
    min-width: 0;
}
.gshop-account__section-head h2 {
    font-family: var(--font-display, serif);
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 400;
    margin: 0;
}
.gshop-account__link {
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gs-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--gs-ink);
    padding-bottom: 2px;
}
.gshop-account__empty {
    padding: 2rem;
    border: 1px dashed var(--gs-line);
    color: var(--gs-muted);
    text-align: center;
    margin: 0 0 1rem;
}
.gshop-account__orders {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}
.gshop-account__orders th,
.gshop-account__orders td {
    padding: 0.75rem 0.6rem;
    text-align: left;
    border-bottom: 1px solid var(--gs-line);
}
.gshop-account__orders th {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-muted);
    font-weight: 500;
}
.gshop-account__orders .num { text-align: right; }

/* Mobil: tablo gizle, sade sütun = kod + tarih + durum + “Detay” (tam satır tık) */
.gshop-account__order-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    width: 100%;
}
.gshop-account__order-cards li {
    margin: 0;
    padding: 0;
}
.gshop-account__order-card {
    border: 1px solid var(--gs-line);
    background: #ffffff;
    margin: 0 0 0.6rem;
    min-width: 0;
    border-radius: 0;
    overflow: hidden;
}
.gshop-account__order-card:last-child { margin-bottom: 0; }
.gshop-account__order-card-hit {
    display: block;
    padding: 0.9rem 0.85rem 0.9rem 0.9rem;
    text-decoration: none;
    color: var(--gs-ink);
    font-size: 0.8rem;
    min-height: 3.25rem;
    box-sizing: border-box;
}
.gshop-account__order-card-hit:hover,
.gshop-account__order-card-hit:focus {
    background: #fff;
    color: var(--gs-ink);
    outline: none;
}
.gshop-account__order-card-hit:focus-visible {
    box-shadow: inset 0 0 0 2px var(--gs-ink);
}
.gshop-account__order-code {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gs-ink);
    letter-spacing: 0.03em;
    margin: 0 0 0.2rem;
    line-height: 1.25;
}
.gshop-account__order-date {
    display: block;
    font-size: 0.72rem;
    color: var(--gs-ink-faint, var(--gs-muted));
    font-variant-numeric: tabular-nums;
    margin: 0 0 0.45rem;
    letter-spacing: 0.02em;
}
.gshop-account__order-status {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
    line-height: 1.3;
    margin: 0 0 0.4rem;
    color: var(--gs-ink-muted, var(--gs-muted));
    font-size: 0.78rem;
    word-break: break-word;
}
.gshop-account__order-cta {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gs-ink);
    font-weight: 500;
    border-top: 1px solid var(--gs-line);
    margin-left: -0.9rem;
    margin-right: -0.85rem;
    margin-bottom: -0.9rem;
    padding: 0.55rem 0.9rem 0.55rem 0.9rem;
    background: rgba(255, 255, 255, 0.5);
    text-align: right;
}
.gshop-account__order-cta-ico { font-style: normal; }
@media (max-width: 680px) {
    .gshop-account__orders--table { display: none; }
    .gshop-account__order-cards { display: block; }
    .gshop-account { padding-left: 0.65rem; padding-right: 0.65rem; }
    .gshop-account__wrap { padding: 0; }
    .gshop-account__head { margin-bottom: 1.25rem; }
    .gshop-account__title { font-size: 1.45rem; }
    .gshop-account__section-head { flex-direction: column; align-items: flex-start; }
    .gshop-account__panel { padding: 1rem; }
    .gshop-account__section-head .gshop-account__link { margin-top: 0.1rem; }
    .gshop .gshop-account__actions { gap: 0.4rem; }
}
@media (min-width: 681px) {
    .gshop-account__order-cards { display: none !important; }
}

.gshop-alert--success {
    background: #eef7ed;
    color: #2a6f31;
    border: 1px solid #bfe0c0;
    padding: 0.8rem 1rem;
    margin: 0 0 1rem;
    font-size: 0.88rem;
}

/* ==========================================================================
   ADRES DEFTERİ — /hesabim/adresler
   ========================================================================== */
.gshop-account__wrap--narrow { max-width: 720px; margin-inline: auto; }
.gshop-account__toolbar {
    display: flex; gap: 0.6rem; flex-wrap: wrap;
    justify-content: space-between; align-items: center;
    margin: 0 0 1.4rem;
}
.gshop-account__addrs {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.gshop-account__addr article {
    background: var(--gs-bg, #fff);
    border: 1px solid #e8e6df;
    padding: 1.1rem 1.15rem;
    height: 100%;
    display: flex; flex-direction: column; gap: 0.35rem;
}
.gshop-account__addr.is-default article {
    border-color: #1a1a1a;
    box-shadow: 0 1px 0 #1a1a1a;
}
.gshop-account__addr-head {
    display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.25rem;
}
.gshop-account__addr-head h3 {
    margin: 0; font-size: 1rem; font-weight: 600; letter-spacing: 0.01em;
}
.gshop-account__badge {
    font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em;
    background: #1a1a1a; color: #fff; padding: 0.18rem 0.45rem;
}
.gshop-account__addr-name { margin: 0; font-weight: 600; color: var(--gs-ink); }
.gshop-account__addr-line { margin: 0; line-height: 1.45; color: var(--gs-ink); }
.gshop-account__addr-meta { margin: 0; color: #6b6b6b; font-size: 0.86rem; }
.gshop-account__addr-foot {
    display: flex; gap: 0.9rem; align-items: center; flex-wrap: wrap;
    margin-top: auto; padding-top: 0.7rem;
}
.gshop-account__inline-form { display: inline; margin: 0; }
.gshop-account__link--btn { background: none; border: 0; padding: 0; cursor: pointer; }
.gshop-account__link--danger { color: #b04141; }

/* Address form */
.gshop-form--addr { display: grid; gap: 1rem; margin-top: 1.5rem; }
.gshop-form--addr .gshop-form__row {
    display: grid; gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gshop-form--addr .gshop-form__row:has(.gshop-field--full) { grid-template-columns: 1fr; }
.gshop-form--addr .gshop-form__row:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gshop-form--addr .gshop-field { display: flex; flex-direction: column; gap: 0.3rem; }
.gshop-form--addr .gshop-field--full { grid-column: 1 / -1; }
.gshop-form--addr .gshop-field--check {
    flex-direction: row; align-items: center; gap: 0.5rem; cursor: pointer;
}
.gshop-form--addr .gshop-field__label {
    font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em;
    color: #6b6b6b;
}
.gshop-form--addr input,
.gshop-form--addr select,
.gshop-form--addr textarea {
    border: 1px solid #d8d5cc; padding: 0.65rem 0.75rem; background: #fff;
    font: inherit; color: var(--gs-ink);
}
.gshop-form--addr textarea { resize: vertical; min-height: 90px; }
.gshop-form__actions {
    display: flex; gap: 0.6rem; justify-content: flex-end; align-items: center;
    margin-top: 0.5rem;
}
@media (max-width: 580px) {
    .gshop-form--addr .gshop-form__row,
    .gshop-form--addr .gshop-form__row:has(> :nth-child(3)) { grid-template-columns: 1fr; }
    .gshop-account__toolbar { justify-content: stretch; }
    .gshop-account__toolbar .gshop-btn { flex: 1; }
}

/* Checkout: kayıtlı adres seçici */
.gshop-co-saved {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0.5rem 0.9rem;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    background: #f6f5f0;
    border: 1px solid #e8e6df;
}
.gshop-co-saved__label {
    font-size: 0.82rem; letter-spacing: 0.04em;
    color: #4d4d4d;
}
.gshop-co-saved__select {
    flex: 1 1 220px; min-width: 180px;
    border: 1px solid #d8d5cc; background: #fff; padding: 0.5rem 0.6rem;
    font: inherit;
}
.gshop-co-saved__manage {
    font-size: 0.82rem; color: #1a1a1a; text-decoration: underline;
}

/* ==========================================================================
   SİPARİŞ ÖZETİ — yazdırma çıktısı
   ========================================================================== */
@media print {
    /* Sayfa kenar boşlukları */
    @page { margin: 14mm 12mm; }

    html, body {
        background: #fff !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Yazdırma sırasında sipariş özeti dışındaki tüm bölümleri gizle */
    body > :not(.gardenist-cms):not(script):not(style),
    .site-header,
    .gardenist-header,
    .gardenist-footer,
    .gardenist-preloader,
    #gardenistPreloader,
    .gshop-toast,
    .gshop-dialog,
    .gshop-steps,
    .gshop-receipt__actions {
        display: none !important;
    }

    .gardenist-cms {
        padding: 0 !important;
        min-height: 0 !important;
    }

    .gshop-receipt,
    .gshop-receipt--fluid {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        page-break-inside: avoid;
    }

    .gshop-receipt__hero {
        padding: 0 0 1rem !important;
        margin-bottom: 1rem !important;
        text-align: left;
    }
    .gshop-receipt__hero .tick { display: none !important; }
    .gshop-receipt__title { font-size: 1.4rem !important; }
    .gshop-receipt__sub { font-size: 0.85rem !important; }
    .gshop-receipt__code {
        border-color: #000 !important;
        margin-top: 0.4rem !important;
    }

    /* Yazdırmada: Ürünler tam genişlik (col md 12),
       Müşteri + Ödeme yan yana (col md 6 × 2), Teslimat tam genişlik (col md 12). */
    .gshop-receipt__layout {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }
    .gshop-receipt__layout > .gshop-receipt__panel {
        width: 100% !important;
        margin: 0 0 0.9rem !important;
    }
    .gshop-receipt__layout > aside {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        flex-direction: row !important;
        gap: 0.75rem !important;
        margin-top: 0.25rem !important;
    }
    /* Sıralama: Müşteri (1.) ve Ödeme (3.) aynı satırda col-md-6;
       Teslimat (2.) ikisinin altında col-md-12. */
    .gshop-receipt__layout > aside > .gshop-receipt__panel:nth-child(1) {
        grid-column: 1 / 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }
    .gshop-receipt__layout > aside > .gshop-receipt__panel:nth-child(3) {
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }
    .gshop-receipt__layout > aside > .gshop-receipt__panel:nth-child(2) {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin: 0 !important;
    }

    .gshop-receipt__panel {
        border-color: #000 !important;
        padding: 0.75rem 0.9rem !important;
        page-break-inside: avoid;
    }
    .gshop-receipt__panel h3 {
        font-size: 1rem !important;
        padding-bottom: 0.4rem !important;
        margin-bottom: 0.6rem !important;
        border-bottom-color: #000 !important;
    }

    .gshop-receipt__table { font-size: 0.78rem !important; }
    .gshop-receipt__table th,
    .gshop-receipt__table td {
        padding: 0.45rem 0.35rem !important;
        border-bottom-color: #d0d0d0 !important;
    }
    .gshop-receipt__table thead th {
        border-bottom-color: #000 !important;
        color: #000 !important;
    }
    .gshop-receipt__table .gshop-receipt__prodname { font-size: 0.85rem !important; }

    /* Mobilde ekran kartı; yazdırmada her zaman tablo */
    .gshop-receipt__item-cards { display: none !important; }
    .gshop-receipt__table-wrap { display: block !important; overflow: visible !important; }
    .gshop-receipt__table--desktop { display: table !important; width: 100% !important; }

    .gshop-receipt__totals dl { width: 100% !important; }
    .gshop-receipt__totals .is-grand {
        border-top-color: #000 !important;
        font-size: 0.95rem !important;
    }

    /* Bağlantıları sade metin gibi göster */
    .gshop-receipt a { color: #000 !important; text-decoration: none !important; }
}

/* ==========================================================================
   SEPET SAYFASI — 'Ödemeye geç' CTA blok
   ========================================================================== */
.gshop-cart__cta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}
.gshop-cart__cta .gshop-btn--dark {
    padding: 0.9rem 1.25rem;
    color: #fff !important;
}
.gshop-cart__cta .gshop-btn--dark:hover { color: var(--gs-ink) !important; }

/* ==========================================================================
   CHECKOUT — telefon + selectbox + hata rozeti stilleri
   ========================================================================== */
.gshop-alert {
    padding: 0.85rem 1.1rem;
    font-family: var(--font-sans);
    font-size: 0.88rem;
    margin-bottom: 1.25rem;
    border-radius: 2px;
    line-height: 1.5;
}
.gshop-alert--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #7a1f1f;
}

/* Geçersiz: input/textarea alt çizgi, select kutu hatası */
.gshop-field.is-invalid input,
.gshop-field.is-invalid textarea {
    border-bottom-color: #c23a3a;
}
.gshop-field.is-invalid > select,
.gshop-field.is-invalid .gshop-phone__code {
    border-color: #c23a3a;
    box-shadow: 0 0 0 1px rgba(194, 58, 58, 0.4);
}
.gshop-field__err {
    display: block;
    min-height: 0;
    margin-top: 0.3rem;
    font-family: var(--font-sans);
    font-size: 0.74rem;
    color: #c23a3a;
    letter-spacing: 0.02em;
    line-height: 1.3;
}
.gshop-field.is-invalid .gshop-field__err { min-height: 1.1em; }
.gshop-co-consent.is-invalid { color: #c23a3a; }
.gshop-co-consent .gshop-field__err { margin-left: 0; }

/* Telefon: sol select kutu, sağ numara çizgili; alt hizala */
.gshop-phone {
    display: grid;
    grid-template-columns: minmax(6.25rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem 1rem;
    align-items: end;
}
.gshop-phone .gshop-phone__code {
    min-width: 0;
    max-width: 100%;
}
.gshop-phone__num {
    border: 0 !important;
    border-bottom: 1px solid var(--gs-line) !important;
    background: transparent !important;
    padding: 0.55rem 0 0.6rem !important;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    width: 100%;
    color: var(--gs-ink);
}
.gshop-phone__num:focus { outline: none; border-bottom-color: var(--gs-ink) !important; }

@media (max-width: 520px) {
    .gshop-phone { grid-template-columns: minmax(4.5rem, 0.4fr) minmax(0, 1fr); }
}
@media (max-width: 400px) {
    .gshop-phone { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Katalog listesi (kart) — online-özel ile aynı grid; başlık all-caps ince
   ========================================================================== */
.gshop-card--catalog .gshop-card__t {
    font-family: var(--font-sans);
    font-size: clamp(0.68rem, 0.95vw, 0.82rem);
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    line-height: 1.4;
    margin: 0;
}

/* ==========================================================================
   Katalog PDF — tam ekran okuyucu, site kromu gizli, tek dönüş linki
   ========================================================================== */
body.gshop-page--catalog-pdf {
    background: #0a0a0a !important;
    color: #c9c4bc;
    overflow: hidden;
}

body.gshop-page--catalog-pdf .header,
body.gshop-page--catalog-pdf .footer,
body.gshop-page--catalog-pdf .gardenist-subhero,
body.gshop-page--catalog-pdf .gshop-subhero,
body.gshop-page--catalog-pdf #gdnSearchModal {
    display: none !important;
    visibility: hidden;
}

body.gshop-page--catalog-pdf .gardenist-cms--shop,
body.gshop-page--catalog-pdf .gardenist-cms {
    min-height: 0 !important;
    background: #0a0a0a;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body.gshop-page--catalog-pdf #main {
    min-height: 100dvh;
    min-height: 100vh;
    padding: 0 !important;
    margin: 0 !important;
    display: block;
}

/* Tam ekran: viewport üzerine sabit */
.gdn-pdf--fullscreen {
    position: fixed;
    inset: 0;
    z-index: 9000;
    min-height: 100dvh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #0a0a0a;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.gdn-pdf--fullscreen .gdn-pdf__back {
    position: fixed;
    top: env(safe-area-inset-top, 0.75rem);
    left: env(safe-area-inset-left, 0.75rem);
    z-index: 10050;
    display: inline-flex;
    align-items: center;
    min-height: 2.4rem;
    padding: 0.45rem 0.8rem 0.45rem 0.5rem;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-family: var(--font-sans);
    background: rgba(8, 8, 8, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: color 0.2s, border-color 0.2s, background 0.2s;
    box-sizing: border-box;
    max-width: calc(100% - 1.5rem);
    line-height: 1.2;
}

.gdn-pdf--fullscreen .gdn-pdf__back:hover,
.gdn-pdf--fullscreen .gdn-pdf__back:focus-visible {
    color: #fff;
    background: rgba(0, 0, 0, 0.65);
    border-color: rgba(255, 255, 255, 0.4);
    outline: none;
}

.gdn-pdf--fullscreen .gdn-pdf__err {
    position: fixed;
    top: 4.25rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10040;
    max-width: 90%;
    text-align: center;
    color: #e88 !important;
    font-size: 0.82rem;
    font-family: var(--font-sans);
    padding: 0.35rem 0.75rem;
    margin: 0;
}

.gdn-pdf--fullscreen .gdn-pdf__wrap {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    padding: 0.25rem;
    touch-action: manipulation;
}

.gdn-pdf--fullscreen .gdn-pdf__canvas {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
    box-shadow: 0 0.25rem 4rem rgba(0, 0, 0, 0.7);
    background: #1a1a1a;
    user-select: none;
    -webkit-user-select: none;
}

/* Sol/sağ tıklamada ipucu: çerçeveye tık — HUD kısa süre gösterim */
.gdn-pdf__hud {
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    transform: translateX(-50%) translateY(0.4rem);
    z-index: 10045;
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 0.35rem 0.6rem;
    border-radius: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
    white-space: nowrap;
}

.gdn-pdf__hud--on {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Sabit, çok sönük klavye/kenar ipucu */
.gdn-pdf__vhint {
    position: fixed;
    right: 0.75rem;
    bottom: 0.4rem;
    z-index: 1;
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    color: rgba(255, 255, 255, 0.2);
    font-family: var(--font-sans);
    pointer-events: none;
    user-select: none;
    padding-bottom: env(safe-area-inset-bottom, 0);
}


/* ==========================================================================
   VİTRİN MODU — fiyat gizliyken "Fiyat için iletişime geçin" + teklif CTA
   (bkz. application/config/shop.php -> shop_mode)
   ========================================================================== */

/* Liste/kart fiyat alanı */
.gshop-prices--quote {
    opacity: 0.92;
}

.gshop-p--quote {
    font-weight: 400;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.82);
}

/* Ürün detay fiyat alanı */
.gshop-pdp__price--quote {
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--gs-ink);
    opacity: 0.85;
}

/* Teklif CTA bloğu (sepet formunun yerine geçer) */
.gshop-pdp__quote {
    margin: 1.25rem 0 0.5rem;
}

.gshop-btn--quote {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
}

.gshop-pdp__quote-note {
    margin: 0.7rem 0 0;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 300;
    line-height: 1.55;
    opacity: 0.72;
}
