/* Terminal Wargaming — storefront component CSS (perf: inline @pushOnce'tan çıkarıldı, cache'lenebilir) */

/* ===== Shop/src/Resources/views/categories/view.blade.php ===== */
.tw-cat { background: var(--slate); padding-bottom: 90px; }

            /* --- Başlık bandı --- */
            .tw-cat-head { padding: 44px 0 26px; border-bottom: 1px solid var(--slate-line); margin-bottom: 24px; }
            .tw-cat-crumb { display: flex; flex-wrap: wrap; gap: 10px; font-family: var(--tw-font-mono, monospace); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--tw-bone-dim); margin-bottom: 20px; }
            .tw-cat-crumb a { color: var(--tw-bone-dim) !important; transition: color .2s; }
            .tw-cat-crumb a:hover { color: var(--tw-yellow) !important; }
            .tw-cat-eye { font-family: var(--tw-font-mono, monospace); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--tw-yellow); margin-bottom: 10px; }
            .tw-cat-title { font-family: var(--tw-font-display, serif); font-size: 42px; font-weight: 700; color: var(--tw-bone) !important; letter-spacing: .03em; line-height: 1.1; margin-bottom: 14px; }
            .tw-cat-desc { font-family: var(--tw-font-body, sans-serif); font-weight: 300; font-size: 16px; line-height: 1.65; color: var(--tw-bone-muted); max-width: 760px; }
            .tw-cat-desc p { margin: 0; }

            /* --- Araç çubuğu: sayaç + sıralama --- */
            .tw-cat-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; min-height: 44px; }
            .tw-cat-count { font-family: var(--tw-font-mono, monospace); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--tw-bone-dim); }
            .tw-cat-sort button { background: var(--slate-card) !important; border: 1px solid var(--slate-line) !important; border-radius: 0 !important; color: var(--tw-bone) !important; font-size: 13px; max-width: none !important; width: auto !important; padding: 10px 14px !important; transition: border-color .2s; }
            .tw-cat-sort button:hover, .tw-cat-sort button:focus { border-color: var(--tw-yellow) !important; }
            .tw-cat-sort [role="menuitem"]:hover { color: var(--tw-yellow); }

            /* --- Izgara --- */
            .tw-cat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
            @media (max-width: 1200px) { .tw-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
            @media (max-width: 767px) { .tw-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

            /* --- Kart (ana sayfa "Öne Çıkan Ürünler" diliyle aynı) --- */
            .tw-cat .tw-pcard { background: var(--slate-card); border: 1px solid var(--slate-line); border-radius: 0 !important; overflow: hidden; max-width: none !important; transition: border-color .25s, transform .25s; }
            .tw-cat .tw-pcard:hover { border-color: var(--tw-yellow); transform: translateY(-4px); box-shadow: none !important; }
            .tw-cat .tw-pcard-media { max-width: none !important; max-height: none !important; border-radius: 0 !important; }
            .tw-cat .tw-pcard-media img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: var(--slate-card) !important; border-radius: 0 !important; }
            .tw-cat .tw-pcard-info { max-width: none !important; margin-top: 0 !important; transform: none !important; padding: 16px !important; gap: 8px !important; background: var(--slate-card) !important; border-radius: 0 !important; position: static !important; }
            .tw-cat .tw-pcard-name { font-family: var(--tw-font-body, sans-serif); font-size: 15px; font-weight: 500; color: var(--tw-bone) !important; line-height: 1.35; max-width: none !important; }
            .tw-cat .tw-pcard-price, .tw-cat .tw-pcard-price p { font-family: var(--tw-font-display, serif) !important; font-size: 18px; font-weight: 600; color: var(--tw-yellow) !important; }
            .tw-cat .tw-pcard-price .line-through, .tw-cat .tw-pcard-price del { color: var(--tw-bone-dim) !important; font-size: 13px; }

            /* Eylemler: hover'a gizlenen native davranış yerine her zaman görünür CTA */
            .tw-cat .tw-pcard-actions { display: flex !important; opacity: 1 !important; gap: 6px; margin-top: 4px; }
            .tw-cat .tw-pcard-cta { background: transparent !important; border: 1px solid var(--slate-line) !important; border-radius: 0 !important; color: var(--tw-yellow) !important; font-family: var(--tw-font-body, sans-serif); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 11px 8px !important; transition: all .2s; }
            .tw-cat .tw-pcard-cta:hover:not(:disabled) { background: var(--tw-yellow) !important; border-color: var(--tw-yellow) !important; color: var(--slate) !important; }
            .tw-cat .tw-pcard-cta:disabled { opacity: .35; cursor: not-allowed; }
            .tw-cat .tw-pcard-actions [class*="icon-"] { color: var(--tw-bone-dim) !important; font-size: 20px; padding: 8px !important; transition: color .2s; }
            .tw-cat .tw-pcard-actions [class*="icon-"]:hover, .tw-cat .tw-pcard-actions .icon-heart-fill { color: var(--tw-yellow) !important; }

            /* Rozetler */
            .tw-cat .tw-badge-new { background: var(--tw-yellow) !important; color: var(--slate) !important; border-radius: 0 !important; font-size: 10px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px !important; }
            .tw-cat .tw-badge-sale { background: var(--tw-rust) !important; color: var(--tw-bone) !important; border-radius: 0 !important; font-size: 10px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px !important; }

            /* Sonsuz kaydırma: görünmez tetikleyici + yükleniyor göstergesi */
            .tw-cat-sentinel { width: 100%; height: 1px; }
            .tw-cat-loading { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 38px 0 4px; }
            .tw-cat-loading img { width: 26px; height: 26px; }
            .tw-cat-loading span { font-family: var(--tw-font-mono, monospace); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--tw-bone-dim); }

            /* Daha fazla yükle (yalnız IntersectionObserver desteklenmeyen tarayıcılarda yedek) */
            .tw-cat .tw-cat-more { display: block; margin: 40px auto 0; background: transparent !important; border: 1px solid var(--slate-line) !important; border-radius: 0 !important; color: var(--tw-yellow) !important; font-family: var(--tw-font-body, sans-serif); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 14px 36px !important; transition: all .2s; }
            .tw-cat .tw-cat-more:hover { background: var(--tw-yellow) !important; border-color: var(--tw-yellow) !important; color: var(--slate) !important; }

            /* Boş durum */
            .tw-cat-empty { padding: 90px 0; text-align: center; }
            .tw-cat-empty p { font-family: var(--tw-font-mono, monospace); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--tw-bone-dim); }

            /* Yüklenme hayaleti */
            .tw-pcard-ghost { aspect-ratio: 3 / 4; background: var(--slate-card); border: 1px solid var(--slate-line); animation: twCatPulse 1.6s ease-in-out infinite; }
            @keyframes twCatPulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }

            @media (max-width: 767px) {
                .tw-cat { padding-bottom: 60px; }
                .tw-cat-head { padding-top: 26px; }
                .tw-cat-title { font-size: 30px; }
                .tw-cat-desc { font-size: 14px; }
                .tw-cat-bar { flex-wrap: wrap; }
            }

/* ===== Shop/src/Resources/views/checkout/success.blade.php ===== */
.tw-scs{
			--c-bg:var(--slate); --c-bg2:var(--slate-card); --c-acc:var(--tw-yellow-base); --c-txt:var(--tw-bone-base);
			--c-mut:var(--tw-bone-muted-base); --c-mut2:var(--tw-bone-dim-base); --c-line:var(--slate-line); --c-rust:var(--tw-rust-bright-base);
			background:var(--c-bg); color:var(--c-txt);
			font-family:var(--tw-font-body, "Oswald", sans-serif);
			padding:clamp(56px, 9vh, 104px) 24px;
		}
		.tw-scs *{ box-sizing:border-box; }
		.tw-scs ::selection{ background:var(--c-acc); color:var(--slate); }
		.tw-scs-card{
			position:relative; max-width:720px; margin-inline:auto;
			background:var(--c-bg2); border:1px solid var(--c-line);
			padding:clamp(40px, 6vw, 60px) clamp(22px, 5vw, 56px);
			text-align:center;
		}
		.tw-scs-card::before{
			content:''; position:absolute; inset:10px; pointer-events:none;
			border:1px dashed rgba(212,199,87,.26);
		}
		.tw-scs-eye{
			font-family:var(--tw-font-mono, monospace); font-size:12px; letter-spacing:.3em;
			text-transform:uppercase; color:var(--c-rust); margin:0 0 30px;
			display:flex; align-items:center; justify-content:center; gap:12px;
		}
		.tw-scs-eye::before, .tw-scs-eye::after{
			content:''; width:30px; height:1px; background:rgba(207,122,92,.55); flex:0 0 auto;
		}
		.tw-scs-seal{
			width:122px; height:122px; margin:0 auto 26px; display:block;
			filter:drop-shadow(0 0 26px rgba(212,199,87,.16));
		}
		.tw-scs-h1{
			font-family:var(--tw-font-display, "Cinzel", serif) !important; font-weight:700;
			font-size:clamp(26px, 4vw, 38px) !important; line-height:1.15; letter-spacing:.04em;
			text-transform:uppercase; color:var(--c-txt) !important; margin:0 0 22px;
		}
		.tw-scs-no{
			display:inline-flex; align-items:center; gap:14px; margin:0 0 26px;
			border:1px solid var(--c-line); background:var(--slate); padding:10px 20px;
			font-family:var(--tw-font-mono, monospace); font-size:13px; letter-spacing:.18em;
			text-transform:uppercase;
		}
		.tw-scs-no-label{ color:var(--c-mut2); }
		.tw-scs-no-sep{ width:1px; height:14px; background:var(--c-line); }
		.tw-scs-no-val{ color:var(--c-acc); font-weight:700; }
		.tw-scs-thanks{
			font-family:var(--tw-font-body, sans-serif); font-weight:400; font-size:19px;
			color:var(--c-txt); margin:0 0 10px; line-height:1.5;
		}
		.tw-scs-info{
			font-family:var(--tw-font-body, sans-serif); font-weight:300; font-size:15.5px;
			color:var(--c-mut); line-height:1.7; max-width:52ch; margin:0 auto 24px;
		}
		.tw-scs-note{
			font-family:var(--tw-font-accent, "Special Elite", cursive); font-size:14.5px;
			color:var(--c-rust); margin:0 auto 34px; max-width:46ch; line-height:1.6;
		}
		.tw-scs-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:0 0 6px; }
		.tw-scs-cta, .tw-scs-ghost{
			display:inline-flex; align-items:center; justify-content:center; min-height:48px;
			font-family:var(--tw-font-body, sans-serif); font-weight:600; font-size:14px;
			letter-spacing:.14em; text-transform:uppercase; padding:13px 30px; text-decoration:none;
			transition:background .2s ease, color .2s ease, border-color .2s ease; cursor:pointer;
		}
		.tw-scs-cta{ background:var(--c-acc); color:var(--slate) !important; border:1px solid var(--c-acc); }
		.tw-scs-cta:hover{ background:var(--tw-yellow-light); border-color:var(--tw-yellow-light); }
		.tw-scs-ghost{ background:transparent; color:var(--c-acc) !important; border:1px solid rgba(212,199,87,.45); }
		.tw-scs-ghost:hover{ border-color:var(--c-acc); background:rgba(212,199,87,.08); }
		.tw-scs-slogan{
			margin:34px 0 0; padding-top:20px; border-top:1px solid var(--c-line);
			font-family:var(--tw-font-mono, monospace); font-size:11px; letter-spacing:.32em;
			text-transform:uppercase; color:var(--c-mut2);
		}
		@media (max-width: 640px){
			.tw-scs{ padding-inline:16px; }
			.tw-scs-seal{ width:96px; height:96px; }
			.tw-scs-eye{ font-size:10.5px; letter-spacing:.22em; }
			.tw-scs-no{ gap:10px; padding:9px 14px; font-size:11.5px; letter-spacing:.14em; }
			.tw-scs-thanks{ font-size:17px; }
			.tw-scs-actions{ flex-direction:column; align-items:stretch; }
			.tw-scs-slogan{ letter-spacing:.22em; font-size:10px; }
		}

/* ===== Shop/src/Resources/views/compare/index.blade.php ===== */
/* ===== Terminal Wargaming — TERMINAL karşılaştırma tablosu ===== */
    .tw-cmp {
        --c-bg:var(--slate); --c-bg2:var(--slate-card); --c-bg3:var(--slate);
        --c-acc:var(--tw-yellow-base); --c-txt:var(--tw-bone-base); --c-mut:var(--tw-bone-muted-base); --c-mut2:var(--tw-bone-dim-base); --c-line:var(--slate-line);
    }

    /* Başlık şeridi */
    .tw-cmp-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
    .tw-cmp-head h1 { font-family: var(--tw-font-display); font-size:26px; font-weight:700; color:var(--c-txt); letter-spacing:.02em; margin:0; }

    /* Tablo (yatay kaydırma — birincil karşılaştırma deseni) */
    .tw-cmp-table { border:1px solid var(--c-line); background:var(--c-bg); }
    .tw-cmp-row { display:flex; align-items:stretch; border-bottom:1px solid var(--c-line); }
    .tw-cmp-row:last-child { border-bottom:0; }
    .tw-cmp-row:nth-child(even) .tw-cmp-col { background:rgba(255,255,255,.018); }

    /* Sol etiket sütunu — yatay kaydırırken sabit kalır (sticky) */
    .tw-cmp-label {
        position:sticky; left:0; z-index:2;
        flex:0 0 260px; width:260px; max-width:260px;
        display:flex; align-items:center;
        padding:18px 22px;
        background:var(--c-bg2);
        border-inline-end:1px solid var(--c-line);
    }
    .tw-cmp-row:nth-child(even) .tw-cmp-label { background:var(--c-bg3); }
    .tw-cmp-label p {
        margin:0; line-height:1.4;
        font-family: var(--tw-font-body); font-weight:600; font-size:12px;
        letter-spacing:.13em; text-transform:uppercase; color:var(--c-acc);
    }

    /* Değer sütunları */
    .tw-cmp-values { display:flex; }
    .tw-cmp-col {
        position:relative;
        flex:0 0 300px; width:300px; max-width:300px;
        padding:20px;
        border-inline-end:1px solid var(--c-line);
    }
    .tw-cmp-col:last-child { border-inline-end:0; }
    .tw-cmp-row--product .tw-cmp-col { padding:22px 20px; }

    .tw-cmp-cell {
        color:var(--c-mut); font-family: var(--tw-font-body); font-weight:300;
        font-size:13.5px; line-height:1.6; overflow-wrap:anywhere; word-break:normal;
    }
    .tw-cmp-cell:lang(en) { hyphens:auto; }

    /* Kaldır (X) butonu */
    .tw-cmp-remove {
        position:absolute; top:14px; z-index:1; inset-inline-end:14px;
        display:flex; align-items:center; justify-content:center;
        width:32px; height:32px; border-radius:6px; cursor:pointer;
        background:var(--c-bg2); border:1px solid var(--c-line);
        color:var(--c-txt); font-size:20px; transition:color .15s, border-color .15s;
    }
    @media (hover:hover) { .tw-cmp-remove:hover { color:var(--c-acc); border-color:var(--c-acc); } }
    .tw-cmp-remove:focus-visible { outline:2px solid var(--c-acc); outline-offset:2px; }

    /* ---- Enjekte edilen yapılandırılmış içerik ---- */
    /* Paket İçeriği — onay işaretli liste */
    .tw-cmp-list { list-style:none; margin:0; padding:0; }
    .tw-cmp-list li { position:relative; padding:5px 0 5px 22px; color:var(--c-mut); font-size:13.5px; line-height:1.5; }
    .tw-cmp-list li::before { content:'✓'; position:absolute; inset-inline-start:0; top:5px; color:var(--c-acc); font-weight:700; }

    /* Teknik Bilgiler — spec satırları */
    .tw-cmp-specs { display:flex; flex-direction:column; gap:12px; }
    .tw-cmp-spec { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; }
    .tw-cmp-spec-v { font-family: var(--tw-font-display); font-weight:700; font-size:19px; line-height:1; color:var(--c-acc); }
    .tw-cmp-spec-u { font-family: var(--tw-font-body); font-weight:600; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--c-txt); }
    .tw-cmp-spec-l { flex-basis:100%; font-size:12px; line-height:1.45; color:var(--c-mut2); }

    /* Neden / Nasıl — başlık + açıklama blokları */
    .tw-cmp-points { display:flex; flex-direction:column; gap:14px; }
    .tw-cmp-point { display:flex; flex-direction:column; gap:3px; }
    .tw-cmp-point-tag { font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--c-acc); }
    .tw-cmp-point-t { font-family: var(--tw-font-body); font-weight:600; font-size:14px; line-height:1.35; color:var(--c-txt); }
    .tw-cmp-point-d { font-size:12.5px; line-height:1.55; color:var(--c-mut); }

    .tw-cmp-na { color:var(--c-mut2); }

    /* Boş durum */
    .tw-cmp-empty { display:grid; place-items:center; gap:18px; padding:90px 20px; text-align:center; }
    .tw-cmp-empty p { font-family: var(--tw-font-display); font-size:20px; color:var(--c-txt); margin:0; }

    /* Responsive */
    @media (max-width:768px) {
        .tw-cmp-head h1 { font-size:19px; }
        .tw-cmp-label { flex-basis:150px; width:150px; max-width:150px; padding:14px; }
        .tw-cmp-label p { font-size:11px; letter-spacing:.1em; }
        .tw-cmp-col { flex-basis:240px; width:240px; max-width:240px; padding:14px; }
        .tw-cmp-spec-v { font-size:17px; }
    }
    @media (max-width:480px) {
        .tw-cmp-label { flex-basis:116px; width:116px; max-width:116px; padding:12px 11px; }
        .tw-cmp-col { flex-basis:208px; width:208px; max-width:208px; padding:12px; }
    }

/* ===== Shop/src/Resources/views/home/index.blade.php ===== */
/* Kaydırma çubuğu (tema renkleri) */
        .tw-prod-grid, .tw-gal-grid, .tw-blog-slider {
            scrollbar-width: thin;
            scrollbar-color: var(--slate-line2) transparent;
            -webkit-overflow-scrolling: touch;
        }
        .tw-prod-grid::-webkit-scrollbar, .tw-gal-grid::-webkit-scrollbar, .tw-blog-slider::-webkit-scrollbar { height: 8px; }
        .tw-prod-grid::-webkit-scrollbar-track, .tw-gal-grid::-webkit-scrollbar-track, .tw-blog-slider::-webkit-scrollbar-track { background: var(--slate-card); }
        .tw-prod-grid::-webkit-scrollbar-thumb, .tw-gal-grid::-webkit-scrollbar-thumb, .tw-blog-slider::-webkit-scrollbar-thumb { background: var(--slate-line2); border-radius: 0; }
        .tw-prod-grid::-webkit-scrollbar-thumb:hover, .tw-gal-grid::-webkit-scrollbar-thumb:hover, .tw-blog-slider::-webkit-scrollbar-thumb:hover { background: var(--tw-yellow); }

        /* Sürükle-kaydır imleci (yalnızca taşma varsa) */
        .tw-can-drag { cursor: grab; }
        .tw-grabbing { cursor: grabbing !important; user-select: none; }

        /* JS ile eklenen sarmalayıcı + ok düğmeleri */
        .tw-slider-wrap { position: relative; }
        .tw-slider-nav {
            position: absolute; top: 50%; transform: translateY(-50%); z-index: 6;
            width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
            background: rgba(10, 10, 10, .82); color: var(--tw-yellow); border: 1px solid var(--slate-line);
            font-family: var(--tw-font-body); font-size: 24px; line-height: 1; cursor: pointer;
            -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
            transition: background .2s, color .2s, border-color .2s, opacity .2s, visibility .2s;
        }
        .tw-slider-nav:hover { background: var(--tw-yellow); color: var(--slate); border-color: var(--tw-yellow); }
        .tw-slider-nav:focus-visible { outline: 2px solid var(--tw-yellow); outline-offset: 2px; }
        .tw-slider-nav.prev { left: -8px; }
        .tw-slider-nav.next { right: -8px; }
        .tw-slider-nav[disabled] { opacity: 0; visibility: hidden; pointer-events: none; }
        .tw-slider-wrap:not(.tw-has-overflow) .tw-slider-nav { display: none; }
        /* Dokunmatik cihazlarda parmakla kaydırma yeterli; okları gizle */
        @media (hover: none) { .tw-slider-nav { display: none !important; } }

/* ===== Shop/src/Resources/views/products/view.blade.php ===== */
.tw-crumbs { max-width:1180px; margin:0 auto; padding:0 24px; opacity:.5; transition:opacity .2s; display:flex !important; justify-content:flex-start !important; }
            .tw-crumbs:hover { opacity:.85; }
.tw-sticky-cta { display:none; }
            @media (max-width:768px){
                .tw-sticky-cta { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:45; align-items:center; gap:14px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:rgba(10,10,10,.96); border-top:1px solid var(--slate-line); box-shadow:0 -8px 24px -12px rgba(0,0,0,.8); backdrop-filter:blur(8px); transition:transform .25s ease; }
                .tw-sticky-cta.tw-sticky-hidden { transform:translateY(115%); }
                .tw-sticky-info { display:flex; flex-direction:column; min-width:0; }
                .tw-sticky-name { font-family: var(--tw-font-body); font-weight:300; font-size:12px; color:var(--tw-bone-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
                .tw-sticky-price { font-family: var(--tw-font-display); font-weight:700; font-size:20px; color:var(--tw-yellow-light); line-height:1.1; }
                .tw-sticky-add { flex:1; min-height:48px; border:0; border-radius:10px; background:linear-gradient(180deg,var(--tw-yellow-light),var(--tw-yellow)); color:var(--slate); font-family: var(--tw-font-body); font-weight:600; font-size:16px; letter-spacing:.03em; cursor:pointer; }
                .tw-sticky-add:active { filter:brightness(.95); }
                body { padding-bottom:74px; }
            }
.tw-gallery { flex:1 1 0; min-width:0; max-width:600px; }
                                .tw-gallery-stage { position:relative; border:1px solid var(--slate-line); border-radius:18px; overflow:hidden; background:radial-gradient(120% 120% at 50% 0%,var(--slate-card),var(--slate) 70%); aspect-ratio:1/1; }
                                @media (hover:hover){ .tw-gallery-stage { cursor:zoom-in; } }
                                .tw-gallery-stage img { width:100%; height:100%; object-fit:cover; transition:transform .18s ease-out; }
                                .tw-gallery-stage.zooming img { transition:none; }
                                .tw-g-stock { position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; gap:7px; background:rgba(10,10,11,.7); border:1px solid var(--tw-success); color:var(--tw-success); font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:6px 11px; border-radius:99px; backdrop-filter:blur(6px); }
                                .tw-g-stock .dot { width:7px; height:7px; border-radius:50%; background:var(--tw-success); }
                                .tw-g-sku { position:absolute; top:14px; right:14px; z-index:2; font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.14em; color:var(--tw-bone-muted); background:rgba(10,10,11,.6); padding:5px 9px; border-radius:6px; }
                                .tw-g-zoomhint { position:absolute; bottom:14px; right:14px; z-index:2; font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.06em; color:var(--tw-bone-muted); display:inline-flex; gap:6px; align-items:center; pointer-events:none; }
                                .tw-gallery-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:14px; }
                                .tw-g-thumb { position:relative; border:1px solid var(--slate-line); border-radius:12px; overflow:hidden; aspect-ratio:1/1; background:var(--slate); cursor:pointer; transition:border-color .2s; padding:0; }
                                .tw-g-thumb img { width:100%; height:100%; object-fit:cover; }
                                .tw-g-thumb.is-active { border-color:var(--tw-yellow); box-shadow:0 0 0 1px var(--tw-yellow); }
                                .tw-g-thumb:hover { border-color:var(--slate-line2); }
                                @media (max-width:1180px){ .tw-gallery { max-width:100%; } }
                                @media (max-width:640px){ .tw-gallery-thumbs { grid-template-columns:repeat(5,1fr); gap:8px; } }
/* Terminal — TERMINAL hero/buy box (prototiple eşleşir) */
                                    .tw-buybox h1 { font-family: var(--tw-font-display) !important; letter-spacing:.01em; color:var(--tw-bone); }
                                    .tw-eyebrow-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
                                    .tw-eyebrow-actions { display:flex; align-items:center; gap:16px; }
                                    .tw-compare-btn { display:inline-flex; align-items:center; gap:6px; font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tw-bone-muted); background:none; border:0; cursor:pointer; white-space:nowrap; }
                                    .tw-compare-btn:hover { color:var(--tw-yellow); }
                                    .tw-compare-btn .icon-compare { font-size:18px; }
                                    .tw-eyebrow { display:inline-flex; align-items:center; gap:9px; font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--tw-yellow); }
                                    .tw-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--tw-success); box-shadow:0 0 8px var(--tw-success); flex-shrink:0; }
                                    /* Birincil CTA (Sepete Ekle = .secondary-button) → altın */
                                    .tw-buybox .secondary-button { flex:1 1 auto !important; width:100% !important; max-width:100% !important; background:linear-gradient(180deg,var(--tw-yellow-light),var(--tw-yellow)) !important; border:0 !important; color:var(--slate) !important; font-weight:600 !important; font-family: var(--tw-font-body); letter-spacing:.03em; box-shadow:0 8px 24px -10px rgba(212,199,87,.55); }
                                    .tw-buybox .secondary-button:hover { filter:brightness(1.05); }
                                    /* Hemen Al (.primary-button) → altın çerçeve */
                                    .tw-buybox .primary-button { width:100% !important; max-width:100% !important; display:flex !important; align-items:center; justify-content:center; background:transparent !important; border:1px solid var(--tw-gold-dim) !important; color:var(--tw-yellow-light) !important; font-family: var(--tw-font-body); letter-spacing:.04em; text-transform:uppercase; box-shadow:none !important; }
                                    .tw-buybox .primary-button:hover { background:rgba(212,199,87,.08) !important; border-color:var(--tw-yellow) !important; }
                                    .tw-price-meta { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-family: var(--tw-font-body); font-weight:300; font-size:13px; color:var(--tw-bone-muted); }
                                    .tw-price-meta strong { color:var(--tw-success); font-weight:600; }
                                    .tw-price-meta .sep { color:var(--slate-line2); }
                                    .tw-deliver { display:flex; gap:10px; align-items:flex-start; margin-top:20px; padding:13px 15px; border:1px dashed var(--slate-line2); border-radius:11px; font-family: var(--tw-font-body); font-weight:300; font-size:13.5px; color:var(--tw-bone-muted); line-height:1.5; }
                                    .tw-deliver svg { width:18px; height:18px; color:var(--tw-yellow); flex-shrink:0; margin-top:1px; }
                                    .tw-deliver strong { color:var(--tw-bone); font-weight:600; }
                                    /* Yedek/Ek paket varyant segmenti (prototip .pd-opt/.seg) */
                                    .tw-opt { margin-top:22px; }
                                    .tw-opt-label { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
                                    .tw-opt-label .t { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--tw-bone-soft); }
                                    .tw-opt-label .hint { font-size:12px; color:var(--tw-bone-label); font-family: var(--tw-font-body); font-weight:300; }
                                    .tw-segments { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
                                    .tw-seg { position:relative; border:1px solid var(--slate-line2); border-radius:11px; padding:13px 14px; text-align:left; background:transparent; cursor:pointer; transition:border-color .18s ease, background .18s ease; display:block; width:100%; }
                                    .tw-seg .s-top { display:flex; justify-content:space-between; align-items:center; gap:8px; font-family: var(--tw-font-body); font-weight:600; font-size:14px; color:var(--tw-bone); }
                                    .tw-seg .s-sub { display:block; font-family: var(--tw-font-body); font-weight:300; font-size:12px; color:var(--tw-bone-label); margin-top:3px; }
                                    .tw-seg-check { width:18px; height:18px; border-radius:50%; border:1px solid var(--slate-line2); display:grid; place-items:center; flex:none; }
                                    .tw-seg-check svg { width:11px; height:11px; stroke:transparent; }
                                    .tw-seg[aria-pressed="true"] { border-color:var(--tw-yellow); background:rgba(212,199,87,.07); }
                                    .tw-seg[aria-pressed="true"] .tw-seg-check { background:var(--tw-yellow); border-color:var(--tw-yellow); }
                                    .tw-seg[aria-pressed="true"] .tw-seg-check svg { stroke:#000; }
                                    /* FAZ1 — dokunma hedefleri (≥44px) + iOS zoom (input ≥16px) */
                                    .tw-buybox .primary-button { min-height:48px !important; }
                                    .tw-buybox .secondary-button { min-height:52px !important; }
                                    .tw-seg { min-height:48px; }
                                    .tw-compare-btn { min-height:44px; align-items:center; padding:4px 2px; }
                                    .tw-eyebrow-actions { align-items:center; }
                                    .tw-wishlist-btn { width:44px; height:44px; flex:0 0 auto; }
                                    /* FAZ6 — klavye focus ring (buy box + galeri) */
                                    .tw-buybox button:focus-visible, .tw-buybox a:focus-visible, .tw-buybox input:focus-visible, .tw-buybox [role="button"]:focus-visible, .tw-gallery button:focus-visible, .tw-seg:focus-visible { outline:2px solid var(--tw-yellow-light); outline-offset:2px; border-radius:6px; }
                                    .tw-buybox input, .tw-buybox textarea, .tw-buybox select { font-size:16px; }
                                    @media (max-width:640px){
                                        .tw-buybox .quantity-changer input, .tw-buybox input[type="number"], .tw-buybox input[type="text"] { font-size:16px !important; }
                                    }
                                    .tw-trust-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
                                    .tw-trust-badges > div { text-align:center; border:1px solid var(--slate-line); border-radius:11px; padding:14px 8px; background:var(--slate-card); }
                                    .tw-trust-badges svg { width:22px; height:22px; color:var(--tw-yellow); margin:0 auto 8px; }
                                    .tw-trust-badges .l { font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--tw-bone-muted); line-height:1.45; display:block; }
.tw-sub { margin-top:14px; font-family: var(--tw-font-body); font-weight:300; font-size:16px; line-height:1.6; color:var(--tw-bone-muted); }
                                    .tw-buybox-benefits { list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:9px; }
                                    .tw-buybox-benefits li { display:flex; gap:9px; align-items:flex-start; font-family: var(--tw-font-body); font-weight:300; font-size:15px; line-height:1.5; color:var(--tw-bone-soft); }
                                    .tw-buybox-benefits li svg { width:17px; height:17px; color:var(--tw-yellow); flex-shrink:0; margin-top:2px; }
                                    .tw-ratings { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; }
                                    .tw-ratings .stars { color:var(--tw-yellow); letter-spacing:2px; font-size:16px; cursor:pointer; }
                                    .tw-ratings .stars.off { color:var(--slate-line2); cursor:default; }
                                    .tw-ratings .num { font-family: var(--tw-font-body); font-weight:600; color:var(--tw-bone); }
                                    .tw-ratings .cnt { font-family: var(--tw-font-body); font-size:14px; color:var(--tw-bone-muted); border-bottom:1px solid var(--slate-line2); }
                                    .tw-ratings .cnt:hover { color:var(--tw-yellow); }
                                    .tw-ratings .num-empty { font-family: var(--tw-font-body); font-size:14px; color:var(--tw-bone-muted); }
                                    .tw-price-block { border:1px solid var(--slate-line); border-radius:14px; padding:16px 20px; background:var(--slate-card); margin-top:20px; }
                                    .tw-price-row { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
                                    .tw-price-cur { font-family: var(--tw-font-display); font-weight:700; font-size:34px; color:var(--tw-bone); }
                                    .tw-price-old { font-family: var(--tw-font-body); font-size:18px; color:var(--tw-bone-label); text-decoration:line-through; }
                                    .tw-price-pct { font-family: var(--tw-font-mono); font-size:12px; font-weight:700; letter-spacing:.05em; color:var(--tw-rust-mid); border:1px solid var(--tw-rust); padding:3px 9px; border-radius:6px; }
                                    .tw-includes { border-top:1px solid var(--slate-line); padding-top:20px; margin-top:22px; }
                                    .tw-includes-title { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--tw-yellow); margin-bottom:12px; }
                                    .tw-includes ul { list-style:none; margin:0; padding:0; }
                                    .tw-includes li { display:flex; gap:10px; align-items:flex-start; font-family: var(--tw-font-body); font-weight:300; font-size:14.5px; color:var(--tw-bone-muted); padding:5px 0; }
                                    .tw-includes li svg { width:16px; height:16px; color:var(--tw-success); flex-shrink:0; margin-top:3px; }
                                    .tw-guarantee { display:flex; gap:13px; align-items:flex-start; background:linear-gradient(120deg,rgba(107,158,95,.08),transparent); border:1px solid rgba(107,158,95,.3); border-radius:12px; padding:16px; margin-top:20px; }
                                    .tw-guarantee svg { width:26px; height:26px; color:var(--tw-success); flex-shrink:0; }
                                    .tw-guarantee strong { display:block; margin-bottom:3px; font-family: var(--tw-font-display); font-size:14.5px; color:var(--tw-bone); }
                                    .tw-guarantee span { font-family: var(--tw-font-body); font-weight:300; font-size:13px; color:var(--tw-bone-muted); line-height:1.6; }

/* ===== Shop/src/Resources/views/products/view/tw-template.blade.php ===== */
.tw-pdp { --tw-bg:var(--slate); --tw-bg2:var(--slate-card); --tw-band:var(--slate-foot); --tw-acc:var(--tw-yellow); --tw-txt:var(--tw-bone); --tw-mut:var(--tw-bone-muted); --tw-mut2:var(--tw-bone-soft); --tw-line:var(--slate-line); }
    .tw-pdp-bleed { position:relative; width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; }
    .tw-pdp-container { max-width:1180px; margin:0 auto; padding:0 24px; }

    /* Güven şeridi */
    .tw-pdp-trust { background:var(--tw-band); border-top:1px solid var(--tw-line); border-bottom:1px solid var(--tw-line); margin-top:56px; }
    .tw-pdp-trust-inner { max-width:1180px; margin:0 auto; padding:22px 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
    .tw-pdp-trust-item { display:flex; align-items:center; gap:14px; }
    .tw-pdp-trust-item svg { width:30px; height:30px; color:var(--tw-acc); flex-shrink:0; }
    .tw-pdp-trust-item span { display:flex; flex-direction:column; font-family: var(--tw-font-body); font-size:13px; color:var(--tw-mut); line-height:1.4; }
    .tw-pdp-trust-item strong { font-size:15px; color:var(--tw-txt); font-weight:600; letter-spacing:.02em; }

    /* Kutudan çıkanlar + garanti */
    .tw-pdp-band { background:var(--tw-bg); padding:56px 0; }
    .tw-pdp-includes-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:start; }
    .tw-pdp-includes { background:var(--tw-bg2); border:1px solid var(--tw-line); border-left:3px solid var(--tw-acc); padding:30px 34px; }
    .tw-pdp-includes-head { font-family: var(--tw-font-display); font-size:20px; font-weight:700; color:var(--tw-txt); margin-bottom:18px; letter-spacing:.03em; }
    .tw-pdp-includes ul { list-style:none; margin:0; padding:0; }
    .tw-pdp-includes li { font-family: var(--tw-font-body); font-weight:300; font-size:15px; color:var(--tw-mut2); line-height:1.6; padding:9px 0 9px 28px; position:relative; border-bottom:1px solid rgba(58,53,43,.9); }
    .tw-pdp-includes li:last-child { border-bottom:0; }
    .tw-pdp-includes li::before { content:'✓'; position:absolute; left:0; top:9px; color:var(--tw-acc); font-weight:700; }
    .tw-pdp-guarantee { display:flex; gap:16px; background:linear-gradient(135deg,var(--slate-card),var(--slate)); border:1px solid var(--tw-line); border-left:3px solid var(--tw-rust); padding:30px 28px; }
    .tw-pdp-guarantee svg { width:34px; height:34px; color:var(--tw-rust2); flex-shrink:0; }
    .tw-pdp-guarantee strong { display:block; font-family: var(--tw-font-display); font-size:17px; color:var(--tw-txt); margin-bottom:8px; }
    .tw-pdp-guarantee span { font-family: var(--tw-font-body); font-weight:300; font-size:14px; color:var(--tw-mut); line-height:1.6; }

    /* Bölüm gövdesi (her bölüm full-bleed band + içte ortalı container) */
    .tw-pdp-sec { background:var(--tw-bg); padding:64px 0; }
    /* BANT bölümler: koyu zeminden belirgin ayrılır (üst/alt hairline + daha açık ton) */
    .tw-pdp-sec-alt { background:var(--tw-band); border-top:1px solid var(--tw-line); border-bottom:1px solid var(--tw-line); }
    .tw-pdp-specs { background:var(--tw-bg); }
    /* Bant bölümlerde kartlar KOYU'ya döner → açık bant üzerinde net belirir (pop) */
    .tw-pdp-sec-alt .tw-pdp-fbt,
    .tw-pdp-sec-alt .tw-pdp-review-card,
    .tw-pdp-sec-alt .tw-pdp-rev-summary,
    .tw-pdp-sec-alt .tw-pdp-rev-write,
    .tw-pdp-sec-alt .tw-pdp-rev-empty,
    .tw-pdp-sec-alt .tw-pdp-rev-morescroll::-webkit-scrollbar-track { background:var(--tw-bg); }

    .tw-pdp-sechead { border-bottom:1px solid var(--tw-line); padding-bottom:20px; margin-bottom:40px; }
    .tw-pdp-sechead-bright { border-bottom-color:var(--slate-line2); }
    .tw-pdp-secnum { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.28em; color:var(--tw-acc); text-transform:uppercase; margin-bottom:14px; }
    .tw-pdp-sectitle { font-family: var(--tw-font-display); font-size:32px; font-weight:700; color:var(--tw-txt); line-height:1.2; margin:0; }

    /* NEDEN — why cards */
    .tw-pdp-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .tw-pdp-why-card { background:var(--tw-bg2); border:1px solid var(--tw-line); padding:32px 28px; transition:border-color .2s,transform .2s; }
    .tw-pdp-sec-alt .tw-pdp-why-card { background:var(--tw-bg); }
    .tw-pdp-why-card:hover { border-color:var(--tw-acc); transform:translateY(-3px); }
    .tw-pdp-why-icon { width:40px; height:40px; color:var(--tw-acc); margin-bottom:20px; }
    .tw-pdp-why-card h3 { font-family: var(--tw-font-display); font-size:19px; font-weight:600; color:var(--tw-txt); margin:0 0 12px; line-height:1.3; }
    .tw-pdp-why-card p { font-family: var(--tw-font-body); font-weight:300; font-size:14.5px; color:var(--tw-mut); line-height:1.65; margin:0; }

    /* NASIL — feature list */
    .tw-pdp-feat-list { display:flex; flex-direction:column; gap:0; }
    .tw-pdp-feat { display:grid; grid-template-columns:88px 1fr; gap:28px; padding:32px 0; border-bottom:1px solid var(--tw-line); }
    .tw-pdp-feat:last-child { border-bottom:0; }
    .tw-pdp-feat-no { font-family: var(--tw-font-display); font-size:44px; font-weight:700; color:var(--tw-acc); line-height:1; opacity:.85; }
    .tw-pdp-feat-spec { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.14em; color:var(--tw-acc); text-transform:uppercase; margin-bottom:10px; }
    .tw-pdp-feat-body h3 { font-family: var(--tw-font-display); font-size:22px; font-weight:600; color:var(--tw-txt); margin:0 0 12px; line-height:1.3; }
    .tw-pdp-feat-body p { font-family: var(--tw-font-body); font-weight:300; font-size:15.5px; color:var(--tw-mut); line-height:1.7; margin:0; max-width:760px; }

    /* NASIL ÇALIŞIR — zigzag görselli feature'lar (prototip .feature) */
    .tw-pdp-accent { color:var(--tw-acc); }
    /* FAZ6 — klavye erişimi: görünür focus ring (WCAG 2.4.7) */
    .tw-pdp a:focus-visible, .tw-pdp button:focus-visible, .tw-pdp select:focus-visible, .tw-pdp input:focus-visible, .tw-pdp textarea:focus-visible, .tw-pdp summary:focus-visible, .tw-pdp [role="button"]:focus-visible, .tw-pdp .tw-pdp-review-photo:focus-visible { outline:2px solid var(--tw-acc); outline-offset:2px; border-radius:6px; }
    .tw-pdp-how { display:flex; flex-direction:column; gap:56px; }
    .tw-pdp-howrow { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
    .tw-pdp-howrow--rev .tw-pdp-howmedia { order:-1; }
    .tw-pdp-howtext h3 { font-family: var(--tw-font-display); font-weight:600; font-size:24px; line-height:1.2; color:var(--tw-txt); margin:0 0 14px; }
    .tw-pdp-howtext p { font-family: var(--tw-font-body); font-weight:300; font-size:15.5px; color:var(--tw-mut); line-height:1.7; margin:0 0 16px; max-width:40em; }
    .tw-pdp-howlist { list-style:none; margin:0; padding:0; }
    .tw-pdp-howlist li { display:flex; gap:10px; align-items:flex-start; font-family: var(--tw-font-body); font-weight:300; font-size:14px; color:var(--tw-mut); line-height:1.5; padding:5px 0; }
    .tw-pdp-howlist li::before { content:'—'; color:var(--tw-acc); flex:none; }
    .tw-pdp-howmedia { position:relative; border:1px solid var(--tw-line); border-radius:16px; overflow:hidden; aspect-ratio:4/3; background:radial-gradient(120% 120% at 50% 0%,var(--slate-card),var(--slate) 70%); }
    .tw-pdp-howmedia img { width:100%; height:100%; object-fit:cover; display:block; }
    .tw-pdp-howfig { position:absolute; bottom:12px; left:12px; font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.1em; color:var(--tw-mut); background:rgba(10,10,10,.55); padding:3px 8px; border-radius:5px; }

    /* TEKNİK — spec cards */
    .tw-pdp-specs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
    .tw-pdp-spec-card { background:var(--tw-bg2); border:1px solid var(--tw-line); padding:32px 24px; text-align:center; transition:border-color .2s; }
    .tw-pdp-spec-card:hover { border-color:var(--tw-acc); }
    .tw-pdp-spec-value { font-family: var(--tw-font-display); font-size:42px; font-weight:700; color:var(--tw-acc); line-height:1; }
    .tw-pdp-spec-unit { font-family: var(--tw-font-body); font-size:14px; font-weight:600; letter-spacing:.08em; color:var(--tw-txt); text-transform:uppercase; margin-top:8px; }
    .tw-pdp-spec-label { font-family: var(--tw-font-body); font-weight:300; font-size:13px; color:var(--tw-mut); line-height:1.5; margin-top:12px; }
    /* Teknik künye tablosu (prototip .specs-table) */
    .tw-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .tw-pdp-spectable-wrap { margin-top:40px; overflow-x:auto; }
    .tw-pdp-spectable { width:100%; border-collapse:collapse; }
    .tw-pdp-spectable tr { border-bottom:1px solid var(--tw-line); }
    .tw-pdp-spectable td { padding:15px 6px; font-size:14px; vertical-align:top; }
    .tw-pdp-spectable td:first-child { color:var(--tw-mut); font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.04em; text-transform:uppercase; width:42%; white-space:nowrap; padding-right:20px; }
    .tw-pdp-spectable td:last-child { color:var(--tw-mut2,var(--tw-bone-soft)); font-family: var(--tw-font-body); font-weight:300; line-height:1.55; }
    @media (max-width:600px){ .tw-pdp-spectable td:first-child { white-space:normal; width:44%; } }

    /* SSS — FAQ (extraction-ready, GEO/AEO) */
    .tw-pdp-faq { max-width:900px; }
    .tw-pdp-faq details { border-bottom:1px solid var(--tw-line); }
    .tw-pdp-faq summary { list-style:none; cursor:pointer; padding:22px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family: var(--tw-font-display); font-size:17px; font-weight:600; color:var(--tw-txt); }
    .tw-pdp-faq summary::-webkit-details-marker { display:none; }
    .tw-pdp-faq summary::after { content:'+'; font-family: var(--tw-font-mono); font-size:22px; color:var(--tw-acc); flex-shrink:0; line-height:1; }
    .tw-pdp-faq details[open] summary::after { content:'\2212'; }
    .tw-pdp-faq summary:hover { color:var(--tw-acc); }
    .tw-pdp-faq-a { font-family: var(--tw-font-body); font-weight:300; font-size:15px; color:var(--tw-mut); line-height:1.7; padding:0 0 22px; max-width:760px; }

    @media (max-width:900px) {
        .tw-pdp-trust-inner { grid-template-columns:repeat(2,1fr); gap:18px 16px; }
        .tw-pdp-faq summary { font-size:15px; }
        .tw-pdp-includes-grid { grid-template-columns:1fr; }
        .tw-pdp-why-grid { grid-template-columns:1fr; }
        .tw-pdp-specs-grid { grid-template-columns:repeat(2,1fr); }
        .tw-pdp-feat { grid-template-columns:1fr; gap:12px; }
        .tw-pdp-feat-no { font-size:32px; }
        .tw-pdp-how { gap:36px; }
        .tw-pdp-howrow { grid-template-columns:1fr; gap:22px; }
        .tw-pdp-howrow--rev .tw-pdp-howmedia { order:0; }
        .tw-pdp-sectitle { font-size:25px; }
        .tw-pdp-sec, .tw-pdp-band { padding:44px 0; }
    }
.tw-pdp-box { background:var(--tw-bg2); border:1px solid var(--tw-line); border-left:3px solid var(--tw-acc); padding:28px 34px; }
        .tw-pdp-box ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
        .tw-pdp-box li { font-family: var(--tw-font-body); font-weight:300; font-size:15px; color:var(--tw-mut2); line-height:1.6; padding:10px 0 10px 28px; position:relative; border-bottom:1px solid rgba(58,53,43,.9); }
        .tw-pdp-box li::before { content:'✓'; position:absolute; left:0; top:10px; color:var(--tw-acc); font-weight:700; }
        @media (max-width:780px){ .tw-pdp-box ul { grid-template-columns:1fr; } }
.tw-pdp-fbt { display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; border:1px solid var(--tw-line); border-radius:16px; padding:24px; background:var(--tw-bg2); }
        .tw-pdp-fbt-items { display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; }
        .tw-pdp-fbt-plus { display:flex; align-items:center; font-family: var(--tw-font-display); font-size:24px; color:var(--tw-mut); }
        .tw-pdp-fbt-item { position:relative; display:flex; flex-direction:column; gap:8px; width:150px; border:1px solid var(--slate-line2); border-radius:12px; padding:12px; cursor:pointer; transition:border-color .18s, background .18s; }
        .tw-pdp-fbt-item:has(input:checked) { border-color:var(--tw-acc); background:rgba(212,199,87,.06); }
        .tw-pdp-fbt-item input { position:absolute; opacity:0; width:0; height:0; }
        .tw-pdp-fbt-check { position:absolute; top:10px; left:10px; width:20px; height:20px; border-radius:6px; border:1px solid var(--slate-line2); background:rgba(10,10,10,.6); display:grid; place-items:center; }
        .tw-pdp-fbt-item:has(input:checked) .tw-pdp-fbt-check { background:var(--tw-acc); border-color:var(--tw-acc); }
        .tw-pdp-fbt-check svg { width:12px; height:12px; stroke:var(--slate); opacity:0; }
        .tw-pdp-fbt-item:has(input:checked) .tw-pdp-fbt-check svg { opacity:1; }
        .tw-pdp-fbt-item.is-base { cursor:default; }
        .tw-pdp-fbt-thumb { aspect-ratio:1/1; border-radius:8px; background:radial-gradient(120% 120% at 50% 0%,var(--slate-card),var(--slate) 70%); overflow:hidden; }
        .tw-pdp-fbt-thumb img { width:100%; height:100%; object-fit:cover; }
        .tw-pdp-fbt-name { font-family: var(--tw-font-body); font-weight:300; font-size:12.5px; line-height:1.35; color:var(--tw-mut2); }
        .tw-pdp-fbt-price { font-family: var(--tw-font-display); color:var(--tw-acc); font-weight:600; font-size:14px; }
        .tw-pdp-fbt-basetag { font-family: var(--tw-font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tw-mut); }
        .tw-pdp-fbt-summary { text-align:right; }
        .tw-pdp-fbt-total { font-family: var(--tw-font-body); font-size:14px; color:var(--tw-mut); margin-bottom:12px; }
        .tw-pdp-fbt-total strong { font-family: var(--tw-font-display); font-size:26px; color:var(--tw-txt); display:block; margin-top:4px; }
        .tw-pdp-fbt-add { font-family: var(--tw-font-body); font-weight:600; letter-spacing:.03em; height:50px; padding:0 26px; color:var(--slate); background:linear-gradient(180deg,var(--tw-yellow-light),var(--tw-yellow)); border:0; border-radius:10px; cursor:pointer; }
        .tw-pdp-fbt-add:hover { filter:brightness(1.05); }
        @media (max-width:880px){ .tw-pdp-fbt { grid-template-columns:1fr; gap:20px; } .tw-pdp-fbt-summary { text-align:left; } }
        @media (max-width:640px){ .tw-pdp-fbt-items { display:grid; grid-template-columns:1fr 1fr; } .tw-pdp-fbt-plus { display:none; } .tw-pdp-fbt-item { width:auto; } }
.tw-hidden { display:none !important; }
        /* Özet + dağılım */
        .tw-pdp-rev-summary { display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; border:1px solid var(--tw-line); border-radius:14px; padding:28px; background:var(--tw-bg2); margin-bottom:28px; }
        .tw-pdp-rev-score { text-align:center; }
        .tw-pdp-rev-score .big { font-family: var(--tw-font-display); font-weight:700; font-size:54px; line-height:1; color:var(--tw-acc); }
        .tw-pdp-rev-score .stars { color:var(--tw-acc); letter-spacing:2px; }
        .tw-pdp-rev-score .of { color:var(--tw-mut); font-size:14px; font-family: var(--tw-font-body); }
        .tw-pdp-rev-bars { display:flex; flex-direction:column; gap:7px; }
        .tw-pdp-rev-bar { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--tw-mut); font-family: var(--tw-font-mono); }
        .tw-pdp-rev-bar .track { flex:1; height:7px; background:var(--slate); border-radius:99px; overflow:hidden; }
        .tw-pdp-rev-bar .fill { display:block; height:100%; background:var(--tw-acc); border-radius:99px; }
        /* Filtre + sırala */
        .tw-pdp-rev-controls { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
        .tw-pdp-rev-filter { display:inline-flex; gap:8px; flex-wrap:wrap; }
        .tw-pdp-rev-chip { font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--tw-mut); border:1px solid var(--slate-line2); border-radius:99px; padding:7px 16px; min-height:44px; display:inline-flex; align-items:center; background:none; cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
        .tw-pdp-rev-chip:hover { border-color:var(--tw-acc); color:var(--tw-txt); }
        .tw-pdp-rev-chip[aria-pressed="true"] { border-color:var(--tw-acc); background:rgba(212,199,87,.08); color:var(--tw-yellow-light); }
        .tw-pdp-rev-sort { display:inline-flex; align-items:center; gap:9px; }
        .tw-pdp-rev-sort label { font-family: var(--tw-font-body); font-size:12.5px; color:var(--tw-mut); white-space:nowrap; }
        .tw-pdp-rev-sort select { background:var(--tw-bg2); border:1px solid var(--slate-line2); border-radius:8px; color:var(--tw-txt); font-family: var(--tw-font-body); font-size:13px; padding:9px 32px 9px 12px; appearance:none; cursor:pointer; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2387847a' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 11px center; }
        .tw-pdp-rev-sort select:focus { outline:none; border-color:var(--tw-acc); }
        .tw-pdp-rev-count { font-family: var(--tw-font-body); font-size:12.5px; color:var(--tw-mut); margin-bottom:14px; }
        /* Kartlar */
        .tw-pdp-reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
        .tw-pdp-review-card { border:1px solid var(--tw-line); border-radius:13px; padding:22px; background:var(--tw-bg2); }
        .tw-pdp-review-stars { color:var(--tw-acc); letter-spacing:1px; margin-bottom:10px; }
        .tw-pdp-review-body { font-family: var(--tw-font-body); font-weight:300; font-size:13.5px; color:var(--tw-mut2,var(--tw-bone-soft)); margin-bottom:14px; line-height:1.6; }
        .tw-pdp-review-photos { display:flex; gap:8px; margin-bottom:14px; }
        .tw-pdp-review-photo { width:52px; height:52px; border-radius:8px; overflow:hidden; border:1px solid var(--slate-line2); flex:none; padding:0; background:none; cursor:pointer; transition:border-color .15s; }
        .tw-pdp-review-photo:hover { border-color:var(--tw-acc); }
        .tw-pdp-review-photo img { width:100%; height:100%; object-fit:cover; }
        .tw-pdp-review-author { display:flex; gap:11px; align-items:center; }
        .tw-pdp-review-avatar { width:38px; height:38px; border-radius:50%; background:var(--slate); display:grid; place-items:center; font-family: var(--tw-font-mono); font-size:13px; color:var(--tw-acc); flex-shrink:0; }
        .tw-pdp-review-name { font-family: var(--tw-font-body); font-size:13.5px; color:var(--tw-txt); }
        .tw-pdp-review-meta { font-family: var(--tw-font-mono); font-size:11px; color:var(--tw-mut); }
        .tw-pdp-rev-verified { display:inline-flex; gap:5px; align-items:center; font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.05em; color:var(--tw-success); margin-left:auto; }
        .tw-pdp-rev-verified svg { width:12px; height:12px; }
        .tw-pdp-rev-unverified { display:inline-flex; gap:5px; align-items:center; font-family: var(--tw-font-mono); font-size:10px; letter-spacing:.04em; color:var(--tw-mut); margin-left:auto; }
        .tw-pdp-rev-unverified svg { width:12px; height:12px; }
        /* Diğer yorumlar — aç/kapa + iç scroll */
        .tw-pdp-rev-more { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; border:1px solid var(--slate-line2); border-radius:11px; padding:15px; margin-top:24px; background:none; cursor:pointer; font-family: var(--tw-font-mono); font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tw-yellow-light); transition:background .2s; }
        .tw-pdp-rev-more:hover { background:var(--slate-card); }
        .tw-pdp-rev-more svg { width:16px; height:16px; transition:transform .25s; }
        .tw-pdp-rev-more[aria-expanded="true"] svg { transform:rotate(180deg); }
        .tw-pdp-rev-morescroll { margin-top:16px; max-height:460px; overflow-y:auto; padding:4px 14px 4px 4px; scrollbar-width:thin; scrollbar-color:var(--slate-line2) var(--tw-bg2); }
        .tw-pdp-rev-morescroll::-webkit-scrollbar { width:8px; }
        .tw-pdp-rev-morescroll::-webkit-scrollbar-track { background:var(--tw-bg2); border-radius:99px; }
        .tw-pdp-rev-morescroll::-webkit-scrollbar-thumb { background:var(--slate-line2); border-radius:99px; }
        .tw-pdp-rev-morescroll::-webkit-scrollbar-thumb:hover { background:var(--tw-acc); }
        .tw-pdp-rev-empty { border:1px solid var(--tw-line); border-radius:14px; padding:34px; text-align:center; font-family: var(--tw-font-body); font-weight:300; color:var(--tw-mut); background:var(--tw-bg2); margin-bottom:28px; }
        /* Değerlendirme yaz */
        .tw-pdp-rev-write { border:1px solid var(--tw-line); border-radius:12px; padding:24px; background:var(--tw-bg2); margin-top:32px; }
        .tw-pdp-rev-write h3 { font-family: var(--tw-font-display); font-size:18px; font-weight:600; color:var(--tw-txt); margin:0 0 16px; }
        .tw-pdp-rev-rate { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
        .tw-pdp-rev-rate-lbl { font-family: var(--tw-font-body); font-size:13px; color:var(--tw-mut); }
        .tw-pdp-rev-rate-val { font-family: var(--tw-font-body); font-size:12.5px; color:var(--tw-yellow-light); min-width:40px; }
        .tw-pdp-starpick { display:inline-flex; gap:6px; }
        .tw-pdp-starpick button { font-size:26px; line-height:1; color:var(--slate-line2); background:none; border:0; cursor:pointer; min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:6px; transition:color .12s; }
        .tw-pdp-starpick button:hover { color:var(--tw-acc); }
        .tw-pdp-starpick button.on { color:var(--tw-yellow-light); }
        .tw-pdp-rev-write input[type=text], .tw-pdp-rev-write textarea { width:100%; background:var(--slate); border:1px solid var(--slate-line2); border-radius:9px; padding:12px 14px; color:var(--tw-txt); font-family: var(--tw-font-body); font-size:16px; margin-bottom:12px; }
        .tw-pdp-rev-write textarea { resize:vertical; line-height:1.6; }
        .tw-pdp-rev-write input:focus, .tw-pdp-rev-write textarea:focus { outline:none; border-color:var(--tw-acc); }
        .tw-pdp-rev-write textarea::placeholder, .tw-pdp-rev-write input::placeholder { color:var(--tw-mut); }
        .tw-pdp-rev-upload { margin-bottom:4px; }
        .tw-pdp-rev-upload-btn { display:inline-flex; align-items:center; gap:8px; font-family: var(--tw-font-body); font-size:13px; color:var(--tw-mut); border:1px dashed var(--slate-line2); border-radius:9px; padding:11px 14px; cursor:pointer; background:none; }
        .tw-pdp-rev-upload-btn:hover { border-color:var(--tw-acc); color:var(--tw-txt); }
        .tw-pdp-rev-upload-btn svg { width:16px; height:16px; color:var(--tw-acc); }
        .tw-pdp-rev-upload-hint { display:block; font-family: var(--tw-font-body); font-size:12px; color:var(--tw-mut); margin-top:8px; }
        .tw-pdp-rev-upload-list { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
        .tw-pdp-rev-upload-thumb { position:relative; width:62px; height:62px; border-radius:8px; overflow:hidden; border:1px solid var(--slate-line2); }
        .tw-pdp-rev-upload-thumb img { width:100%; height:100%; object-fit:cover; }
        .tw-pdp-rev-upload-thumb button { position:absolute; top:3px; right:3px; width:18px; height:18px; border-radius:50%; background:rgba(10,10,10,.85); color:var(--tw-txt); display:grid; place-items:center; border:0; cursor:pointer; }
        .tw-pdp-rev-upload-thumb button svg { width:11px; height:11px; }
        .tw-pdp-rev-warn { display:flex; gap:10px; align-items:flex-start; border:1px solid rgba(176,74,42,.4); background:rgba(176,74,42,.08); border-radius:9px; padding:12px 14px; margin-top:14px; font-family: var(--tw-font-body); font-weight:300; font-size:12.5px; color:var(--tw-mut2,var(--tw-bone-soft)); line-height:1.5; }
        .tw-pdp-rev-warn svg { width:16px; height:16px; color:var(--tw-rust-mid); flex:none; margin-top:1px; }
        .tw-pdp-rev-warn strong { color:var(--tw-txt); font-weight:600; }
        .tw-pdp-rev-foot { display:flex; justify-content:flex-end; align-items:center; gap:14px; margin-top:16px; }
        .tw-pdp-rev-submit { font-family: var(--tw-font-body); font-weight:600; height:44px; padding:0 26px; color:var(--slate); background:linear-gradient(180deg,var(--tw-yellow-light),var(--tw-yellow)); border:0; border-radius:10px; cursor:pointer; }
        .tw-pdp-rev-submit:hover { filter:brightness(1.05); }
        .tw-pdp-rev-thanks { display:flex; gap:11px; align-items:center; border:1px solid rgba(107,158,95,.4); background:rgba(107,158,95,.08); border-radius:11px; padding:16px; color:var(--tw-txt); font-family: var(--tw-font-body); }
        .tw-pdp-rev-thanks svg { width:22px; height:22px; color:var(--tw-success); flex-shrink:0; }
        /* Lightbox */
        .tw-pdp-lightbox { position:fixed; inset:0; z-index:400; background:rgba(0,0,0,.88); display:none; align-items:center; justify-content:center; padding:40px; }
        .tw-pdp-lightbox.open { display:flex; }
        .tw-pdp-lightbox img { max-width:90vw; max-height:86vh; border-radius:10px; border:1px solid var(--slate-line2); }
        .tw-pdp-lb-close { position:absolute; top:20px; right:24px; width:44px; height:44px; display:grid; place-items:center; color:var(--tw-txt); background:rgba(20,20,24,.8); border-radius:10px; border:0; cursor:pointer; }
        .tw-pdp-lb-close svg { width:20px; height:20px; }
        @media (max-width:880px){ .tw-pdp-reviews-grid { grid-template-columns:1fr; } }
        @media (max-width:780px){ .tw-pdp-rev-summary { grid-template-columns:1fr; gap:22px; } .tw-pdp-rev-sort { width:100%; justify-content:space-between; } .tw-pdp-rev-sort select { font-size:16px; } }

/* ===== Shop/src/Resources/views/products/view/types/booking/event.blade.php ===== */
.tw-evt-summary { background:var(--slate-card) !important; border-color:var(--slate-line) !important; color:var(--tw-bone-soft); }
    .tw-evt-summary .text-zinc-600 { color:var(--tw-bone-muted) !important; }
    .tw-evt-summary .text-zinc-500 { color:var(--tw-bone-label) !important; }
    .tw-evt-summary .text-zinc-400 { color:var(--tw-bone-label) !important; }
    .tw-evt-summary .border-zinc-200 { border-color:var(--slate-line) !important; }

/* ===== Terminal/src/Resources/views/shop/custom-orders/index.blade.php ===== */
.tw-ozs{
            --c-bg:var(--slate); --c-bg2:var(--slate-card); --c-bg3:var(--slate);
            --c-acc:var(--tw-yellow-base); --c-txt:var(--tw-bone-base); --c-mut:var(--tw-bone-muted-base); --c-mut2:var(--tw-bone-dim-base);
            --c-line:var(--slate-line); --c-rust:var(--tw-rust-bright-base); --c-rust2:var(--tw-rust2-base);
            background:var(--c-bg); color:var(--c-txt);
            font-family:var(--tw-font-body, "Oswald", sans-serif);
        }
        .tw-ozs *{ box-sizing:border-box; }
        .tw-ozs ::selection{ background:var(--c-acc); color:var(--slate); }
        .tw-ozs-wrap{ max-width:1240px; margin-inline:auto; padding-inline:24px; }
        .tw-ozs-sec{ padding-block:84px; border-bottom:1px solid var(--c-line); }
        .tw-ozs-eye{
            font-family:var(--tw-font-mono, monospace); font-size:12px; letter-spacing:.3em;
            text-transform:uppercase; color:var(--c-rust); margin:0 0 14px;
            display:flex; align-items:center; gap:12px;
        }
        .tw-ozs-eye.is-center{ justify-content:center; }
        /* ::before/::after çizgileri KALDIRILDI: metin zaten "— ETİKET —" diye uzun
           tire ile sarılı, çizgiyle birlikte çift süsleme oluyordu. Karşılaştırma:
           .tw-scs-eye metninde tire YOK, oradaki çizgiler tek süsleme → duruyor. */
        .tw-ozs-h2{
            font-family:var(--tw-font-display, "Cinzel", serif) !important; font-weight:700;
            font-size:clamp(26px, 3.4vw, 38px); line-height:1.12; color:var(--c-txt) !important;
            letter-spacing:.02em; margin:0 0 18px;
        }
        .tw-ozs-lead{
            font-family:var(--tw-font-body, sans-serif); font-weight:300; font-size:17px;
            line-height:1.65; color:var(--c-mut); margin:0; max-width:60ch;
        }

        /* Butonlar */
        .tw-ozs-cta, .tw-ozs-ghost{
            display:inline-flex; align-items:center; justify-content:center; min-height:48px;
            font-family:var(--tw-font-body, sans-serif); font-weight:600; font-size:14px;
            letter-spacing:.12em; text-transform:uppercase; padding:13px 32px; text-decoration:none;
            cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
        }
        .tw-ozs-cta{ background:var(--c-acc); color:var(--slate) !important; border:1px solid var(--c-acc); }
        .tw-ozs-cta:hover{ background:transparent; color:var(--c-acc) !important; }
        .tw-ozs-ghost{ background:transparent; color:var(--c-acc) !important; border:1px solid var(--c-line); }
        .tw-ozs-ghost:hover{ border-color:var(--c-acc); }
        .tw-ozs-cta:focus-visible, .tw-ozs-ghost:focus-visible,
        .tw-ozs input:focus-visible, .tw-ozs select:focus-visible, .tw-ozs textarea:focus-visible,
        .tw-ozs summary:focus-visible{ outline:2px solid var(--c-acc); outline-offset:3px; }

        /* HERO */
        .tw-ozs-hero{ padding-block:96px 84px; border-bottom:1px solid var(--c-line); }
        .tw-ozs-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:60px; align-items:center; }
        .tw-ozs-h1{
            font-family:var(--tw-font-display, "Cinzel", serif) !important; font-weight:700;
            font-size:clamp(32px, 4.6vw, 54px); line-height:1.05; color:var(--c-txt) !important;
            letter-spacing:.02em; margin:0 0 20px;
        }
        .tw-ozs-h1 .hl{ color:var(--c-acc); }
        .tw-ozs-hero-lead{ font-size:18px; font-weight:300; line-height:1.6; color:var(--c-mut); margin:0 0 30px; max-width:52ch; }
        .tw-ozs-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
        .tw-ozs-note{ font-family:var(--tw-font-mono, monospace); font-size:11.5px; letter-spacing:.06em; color:var(--c-mut2); margin:0; text-transform:uppercase; line-height:1.7; }
        .tw-ozs-frame{ position:relative; padding:10px; border:1px solid var(--c-line); background:linear-gradient(135deg,var(--slate-card),var(--slate)); }
        .tw-ozs-frame::before, .tw-ozs-frame::after{ content:''; position:absolute; width:24px; height:24px; border:2px solid var(--c-acc); }
        .tw-ozs-frame::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
        .tw-ozs-frame::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }
        .tw-ozs-frame img{ display:block; width:100%; height:auto; border:1px solid var(--c-line); }
        .tw-ozs-cap{
            position:absolute; left:20px; bottom:20px; font-family:var(--tw-font-mono, monospace);
            font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--c-txt);
            background:rgba(8,8,8,.82); border:1px solid var(--c-line); padding:7px 11px;
        }

        /* TRUST */
        .tw-ozs-trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line); margin-top:8px; }
        .tw-ozs-trust-card{ background:var(--c-bg2); padding:28px 24px; }
        .tw-ozs-trust-card .n{ font-family:var(--tw-font-mono, monospace); font-size:13px; font-weight:700; color:var(--c-acc); letter-spacing:.1em; }
        .tw-ozs-trust-card h3{ font-family:var(--tw-font-body, sans-serif) !important; font-size:16px !important; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--c-txt) !important; margin:12px 0 8px; }
        .tw-ozs-trust-card p{ font-weight:300; font-size:14.5px; line-height:1.55; color:var(--c-mut2); margin:0; }

        /* HOW */
        .tw-ozs-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:8px; counter-reset:step; }
        .tw-ozs-step{ position:relative; padding-top:22px; border-top:2px solid var(--c-line); }
        .tw-ozs-step .num{ font-family:var(--tw-font-display, serif); font-size:34px; font-weight:700; color:var(--c-acc); line-height:1; }
        .tw-ozs-step h3{ font-family:var(--tw-font-body, sans-serif) !important; font-size:16px !important; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--c-txt) !important; margin:14px 0 8px; }
        .tw-ozs-step p{ font-weight:300; font-size:14.5px; line-height:1.55; color:var(--c-mut2); margin:0; }

        /* GALLERY + COMMUNITY */
        .tw-ozs-gal{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:8px; }
        .tw-ozs-gal-item{ display:block; overflow:hidden; border:1px solid var(--c-line); aspect-ratio:1; padding:0; margin:0; cursor:pointer; background:var(--slate); }
        .tw-ozs-gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
        .tw-ozs-gal-item:focus-visible{ outline:2px solid var(--c-acc); outline-offset:2px; }
        @media (hover:hover){ .tw-ozs-gal-item:hover img{ transform:scale(1.07); } }

        /* Lightbox (galeri /galeri ile aynı davranış: popup + ‹ › + Esc/ok/swipe) */
        .tw-ozs-lb{ position:fixed; inset:0; z-index:9999; display:none; }
        .tw-ozs-lb.open{ display:block; animation:twOzsLbIn .2s ease-out; }
        .tw-ozs-lb-backdrop{ position:absolute; inset:0; background:rgba(6,6,6,.94); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
        .tw-ozs-lb-imgwrap{ position:absolute; inset:0; margin:auto; display:flex; align-items:center; justify-content:center; padding:56px 20px; }
        .tw-ozs-lb-img{ display:block; max-width:min(1100px,92vw); max-height:86vh; object-fit:contain; border:1px solid var(--c-line); background:var(--slate); }
        .tw-ozs-lb-close, .tw-ozs-lb-nav{ position:absolute; z-index:5; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid var(--c-line); background:rgba(12,12,12,.86); color:var(--c-txt); cursor:pointer; transition:border-color .2s ease, color .2s ease; }
        .tw-ozs-lb-close:hover, .tw-ozs-lb-nav:hover, .tw-ozs-lb-close:focus-visible, .tw-ozs-lb-nav:focus-visible{ border-color:var(--c-acc); color:var(--c-acc); outline:none; }
        .tw-ozs-lb-close{ top:14px; right:14px; font-size:18px; line-height:1; }
        .tw-ozs-lb-nav{ top:50%; transform:translateY(-50%); font-size:30px; line-height:1; }
        .tw-ozs-lb-prev{ left:14px; }
        .tw-ozs-lb-next{ right:14px; }
        .tw-ozs-lb-counter{ position:absolute; inset-block-end:18px; inset-inline-start:50%; transform:translateX(-50%); font-family:var(--tw-font-mono, monospace); font-size:12px; letter-spacing:.1em; color:var(--c-mut); }
        @keyframes twOzsLbIn{ from{ opacity:0; } to{ opacity:1; } }
        @media (max-width:600px){ .tw-ozs-lb-nav{ width:42px; height:42px; font-size:26px; } .tw-ozs-lb-imgwrap{ padding:64px 8px; } }
        .tw-ozs-community{ margin-top:34px; display:flex; flex-wrap:wrap; align-items:center; gap:20px; justify-content:space-between; background:var(--c-bg2); border:1px solid var(--c-line); border-left:3px solid var(--c-acc); padding:24px 28px; }
        .tw-ozs-community p{ margin:0; font-size:15.5px; font-weight:300; color:var(--c-mut); max-width:62ch; }
        .tw-ozs-community .lbl{ display:block; font-family:var(--tw-font-mono, monospace); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--c-acc); margin-bottom:6px; }
        .tw-ozs-social{ display:flex; gap:12px; flex-wrap:wrap; }

        /* FORM — sıcak bant zemini (ana sayfadaki özel sipariş bölümü ve footer ile aynı ton) */
        .tw-ozs-form-sec{ background:var(--tw-band, var(--slate-foot)); }
        .tw-ozs-form-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:start; }
        .tw-ozs-form-aside .tw-ozs-h2{ font-size:clamp(24px,3vw,34px); }
        .tw-ozs-checklist{ list-style:none; margin:24px 0 0; padding:0; }
        .tw-ozs-checklist li{ position:relative; padding-inline-start:28px; margin-bottom:14px; font-size:15px; font-weight:300; line-height:1.5; color:var(--c-mut); }
        .tw-ozs-checklist li::before{ content:'✓'; position:absolute; inset-inline-start:0; top:0; color:var(--c-acc); font-weight:700; }
        .tw-ozs-form{ background:var(--c-bg); border:1px solid var(--c-line); padding:34px; }
        .tw-ozs-fieldset{ border:0; padding:0; margin:0 0 30px; }
        .tw-ozs-legend{ display:flex; align-items:center; gap:12px; width:100%; font-family:var(--tw-font-mono, monospace); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--c-acc); padding:0; margin-bottom:18px; }
        .tw-ozs-legend::after{ content:''; flex:1; height:1px; background:var(--c-line); }
        .tw-ozs-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
        .tw-ozs-field{ margin-bottom:16px; }
        .tw-ozs-field.is-full{ grid-column:1 / -1; }
        .tw-ozs-label{ display:block; font-size:13px; font-weight:500; letter-spacing:.04em; color:var(--c-txt); margin-bottom:7px; }
        .tw-ozs-label .req{ color:var(--c-rust); margin-inline-start:3px; }
        .tw-ozs-hint{ font-family:var(--tw-font-mono, monospace); font-size:10.5px; letter-spacing:.04em; color:var(--c-mut2); text-transform:none; }
        .tw-ozs-input, .tw-ozs-select, .tw-ozs-textarea{
            width:100%; min-height:48px; background:var(--c-bg2); border:1px solid var(--c-line);
            color:var(--c-txt); font-family:var(--tw-font-body, sans-serif); font-size:16px;
            padding:12px 14px; transition:border-color .2s ease;
        }
        .tw-ozs-textarea{ min-height:120px; resize:vertical; line-height:1.55; }
        .tw-ozs-input:focus, .tw-ozs-select:focus, .tw-ozs-textarea:focus{ border-color:var(--c-acc); outline:0; }
        .tw-ozs-input::placeholder, .tw-ozs-textarea::placeholder{ color:var(--tw-bone-faint); }
        .tw-ozs-select{ appearance:none; 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 fill='%23d4c757' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-inline-end:38px; }
        html[dir="rtl"] .tw-ozs-select{ background-position:left 16px center; }
        .tw-ozs-check{ display:flex; align-items:center; gap:12px; }
        .tw-ozs-check input{ width:20px; height:20px; flex:0 0 auto; accent-color:var(--c-acc); }
        .tw-ozs-switch{ display:flex; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--c-line); background:var(--c-bg2); }
        .tw-ozs-switch input{ width:20px; height:20px; accent-color:var(--c-acc); }
        .tw-ozs-switch label{ font-size:14px; color:var(--c-txt); margin:0; cursor:pointer; }
        .tw-ozs-file{ border:1px dashed var(--c-line); background:var(--c-bg2); padding:18px; text-align:center; cursor:pointer; display:block; transition:border-color .2s ease; }
        .tw-ozs-file:hover{ border-color:var(--c-acc); }
        .tw-ozs-file .ic{ font-size:22px; color:var(--c-acc); }
        .tw-ozs-file .t{ display:block; font-size:14px; color:var(--c-txt); margin-top:8px; }
        .tw-ozs-file .s{ display:block; font-family:var(--tw-font-mono, monospace); font-size:10.5px; letter-spacing:.04em; color:var(--c-mut2); margin-top:5px; }
        .tw-ozs-file input{ position:absolute; width:1px; height:1px; opacity:0; }
        .tw-ozs-files{ font-family:var(--tw-font-mono, monospace); font-size:11.5px; color:var(--c-mut); margin-top:10px; }
        .tw-ozs-kvkk{ display:flex; align-items:flex-start; gap:12px; margin:6px 0 24px; }
        .tw-ozs-kvkk input{ width:20px; height:20px; flex:0 0 auto; margin-top:2px; accent-color:var(--c-acc); }
        .tw-ozs-kvkk label{ font-size:13.5px; font-weight:300; line-height:1.5; color:var(--c-mut); }
        .tw-ozs-kvkk a{ color:var(--c-acc); text-decoration:underline; }
        .tw-ozs-err{ display:block; color:var(--tw-coral); font-family:var(--tw-font-mono, monospace); font-size:11.5px; margin-top:6px; letter-spacing:.02em; }
        .tw-ozs-input.has-err, .tw-ozs-select.has-err, .tw-ozs-textarea.has-err{ border-color:var(--tw-rust2); }
        .tw-ozs-submit{ width:100%; }
        .tw-ozs-submit-note{ text-align:center; font-family:var(--tw-font-mono, monospace); font-size:11px; letter-spacing:.05em; color:var(--c-mut2); margin:14px 0 0; }
        .tw-ozs-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

        /* SUCCESS */
        .tw-ozs-success{ background:var(--c-bg); border:1px solid var(--c-acc); border-left:4px solid var(--c-acc); padding:40px 34px; text-align:center; }
        .tw-ozs-success .ic{ font-size:46px; color:var(--c-acc); }
        .tw-ozs-success h3{ font-family:var(--tw-font-display, serif) !important; font-size:26px; color:var(--c-txt) !important; margin:14px 0 10px; }
        .tw-ozs-success p{ font-size:15.5px; font-weight:300; line-height:1.6; color:var(--c-mut); margin:0 auto; max-width:46ch; }
        .tw-ozs-success .ref{ display:inline-block; margin-top:18px; font-family:var(--tw-font-mono, monospace); font-size:13px; letter-spacing:.1em; color:var(--c-acc); border:1px solid var(--c-line); padding:8px 16px; }

        /* FAQ */
        .tw-ozs-faq{ max-width:820px; margin-inline:auto; }
        .tw-ozs-faq details{ border-bottom:1px solid var(--c-line); }
        .tw-ozs-faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 4px; font-size:17px; font-weight:500; color:var(--c-txt); }
        .tw-ozs-faq summary::-webkit-details-marker{ display:none; }
        .tw-ozs-faq summary::after{ content:'+'; font-family:var(--tw-font-mono, monospace); color:var(--c-acc); font-size:22px; line-height:1; flex:0 0 auto; transition:transform .2s ease; }
        .tw-ozs-faq details[open] summary::after{ content:'−'; }
        .tw-ozs-faq .a{ padding:0 4px 22px; font-size:15px; font-weight:300; line-height:1.7; color:var(--c-mut); max-width:72ch; }

        /* FINAL CTA */
        .tw-ozs-final{ text-align:center; padding-block:80px; }
        .tw-ozs-final .tw-ozs-h2{ margin-bottom:14px; }
        .tw-ozs-final p{ font-family:var(--tw-font-accent, monospace); font-size:16px; color:var(--c-mut); font-style:italic; margin:0 auto 28px; max-width:56ch; line-height:1.6; }

        /* RESPONSIVE */
        @media (max-width:1024px){
            .tw-ozs-form-grid{ grid-template-columns:1fr; gap:36px; }
            .tw-ozs-trust-grid{ grid-template-columns:repeat(2,1fr); }
            .tw-ozs-steps{ grid-template-columns:repeat(2,1fr); gap:30px; }
            .tw-ozs-gal{ grid-template-columns:repeat(4,1fr); }
        }
        @media (max-width:768px){
            .tw-ozs-sec, .tw-ozs-hero{ padding-block:56px; }
            .tw-ozs-hero-grid{ grid-template-columns:1fr; gap:34px; }
            .tw-ozs-hero-figure{ order:-1; }
            .tw-ozs-form{ padding:22px; }
            .tw-ozs-row{ grid-template-columns:1fr; }
            .tw-ozs-gal{ grid-template-columns:repeat(3,1fr); }
            .tw-ozs-community{ flex-direction:column; align-items:flex-start; }
        }
        @media (prefers-reduced-motion:reduce){
            .tw-ozs *{ transition:none !important; }
        }

/* ===== Terminal/src/Resources/views/shop/injections/product-seo.blade.php ===== */
.tw-pseo { position: relative; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; background: var(--slate); border-top: 1px solid var(--slate-line); padding: 64px 0; }
            .tw-pseo-wrap { max-width: 880px; margin: 0 auto; padding: 0 24px; }
            .tw-pseo-eye { font-family: var(--tw-font-mono); font-size: 12px; letter-spacing: .28em; color: var(--tw-yellow); text-transform: uppercase; margin-bottom: 14px; }
            .tw-pseo-h { font-family: var(--tw-font-display); font-size: 28px; font-weight: 700; color: var(--tw-bone); margin: 0 0 22px; letter-spacing: .02em; }
            .tw-pseo-summary { background: var(--slate-card); border: 1px solid var(--slate-line); border-left: 3px solid var(--tw-yellow); padding: 26px 28px; margin-bottom: 48px; }
            .tw-pseo-summary p { font-family: var(--tw-font-body); font-weight: 300; font-size: 17px; line-height: 1.75; color: var(--tw-bone-soft); margin: 0; }
            .tw-pseo-faq details { border-bottom: 1px solid var(--slate-line); }
            .tw-pseo-faq details:first-of-type { border-top: 1px solid var(--slate-line); }
            .tw-pseo-faq summary { list-style: none; cursor: pointer; padding: 20px 36px 20px 0; position: relative; font-family: var(--tw-font-display); font-size: 18px; font-weight: 600; color: var(--tw-bone); transition: color .2s; }
            .tw-pseo-faq summary::-webkit-details-marker { display: none; }
            .tw-pseo-faq summary:hover { color: var(--tw-yellow); }
            .tw-pseo-faq summary::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-family: var(--tw-font-body); font-size: 26px; font-weight: 300; color: var(--tw-yellow); transition: transform .2s; }
            .tw-pseo-faq details[open] summary::after { content: '−'; }
            .tw-pseo-faq details p { font-family: var(--tw-font-body); font-weight: 300; font-size: 16px; line-height: 1.75; color: var(--tw-bone-sec); margin: 0; padding: 0 36px 24px 0; }
            @media (max-width: 600px) { .tw-pseo { padding: 44px 0; } .tw-pseo-h { font-size: 23px; } .tw-pseo-summary p { font-size: 15.5px; } }

/* ===== Gallery/src/Resources/views/shop/styles.blade.php ===== */
/* ===== Terminal Galeri — ortak değişkenler ===== */
        .tw-gal-page, .tw-gal-sec { --c-bg:var(--slate); --c-bg2:var(--slate-card); --c-card:var(--slate-card); --c-gold:var(--tw-yellow); --c-parch:var(--tw-bone); --c-muted:var(--tw-bone-sec); --c-dim:var(--tw-bone-label); --c-border:var(--slate-line); }

        /* ===== Liste sayfası ===== */
        .tw-gal-page { background:var(--slate); min-height:60vh; padding:60px 6% 80px; }
        .tw-gal-head { text-align:center; margin-bottom:6px; }
        .tw-gal-eye { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.3em; color:var(--tw-yellow); text-transform:uppercase; margin-bottom:10px; }
        .tw-gal-h1 { font-family: var(--tw-font-display); font-size:clamp(28px,4vw,42px); font-weight:700; color:var(--tw-bone); letter-spacing:.03em; margin:0; }
        .tw-gal-lead { font-family: var(--tw-font-body); font-weight:300; font-size:16px; line-height:1.65; color:var(--tw-bone-sec); max-width:60ch; margin:16px auto 0; }
        .tw-gal-count { font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.18em; color:var(--tw-bone-label); text-transform:uppercase; text-align:center; margin-top:14px; }

        /* Albüm filtre sekmeleri (gerçek linkler) */
        .tw-gal-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin:24px 0 40px; }
        .tw-gal-tab { display:inline-flex; align-items:center; min-height:44px; font-family: var(--tw-font-body); font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--tw-bone-sec); border:1px solid var(--slate-line); padding:9px 18px; transition:all .2s; text-decoration:none; }
        .tw-gal-tab:hover { border-color:var(--tw-yellow); color:var(--tw-yellow); }
        .tw-gal-tab.active { background:var(--tw-yellow); color:var(--slate); border-color:var(--tw-yellow); }

        /* Izgara: portre 3:4 kartlar, 5/4/3/2 kolon */
        .tw-gal-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
        .tw-gal-card { position:relative; display:block; width:100%; padding:0; border:1px solid var(--slate-line); background:var(--slate); overflow:hidden; cursor:pointer; aspect-ratio:3/4; transition:transform .25s, border-color .25s; text-align:left; }
        .tw-gal-card:hover { border-color:var(--tw-yellow); transform:translateY(-3px); }
        .tw-gal-img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; background:var(--slate); }
        .tw-gal-grad { position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.1) 45%, transparent 70%); pointer-events:none; }
        .tw-gal-badge { position:absolute; top:12px; left:12px; z-index:2; font-family: var(--tw-font-mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--slate); background:var(--tw-yellow); padding:4px 9px; }
        .tw-gal-name { position:absolute; left:14px; right:14px; bottom:14px; z-index:2; font-family: var(--tw-font-display); font-size:15px; font-weight:600; color:var(--tw-bone); letter-spacing:.02em; line-height:1.3; }
        .tw-gal-empty { font-family: var(--tw-font-body); color:var(--tw-bone-label); padding:40px 0; text-align:center; }

        /* ===== Ana sayfa şeridi ===== */
        /* Arka plan = sıcak bant ritmi (özel sipariş/footer ile aynı --tw-band tonu) */
        .tw-gal-home { padding:70px 6%; background:var(--tw-band, var(--slate-foot)); }
        .tw-gal-home-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:34px; flex-wrap:wrap; gap:14px; border-bottom:1px solid var(--slate-line); padding-bottom:20px; }
        .tw-gal-home-link { font-family: var(--tw-font-body); font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--tw-yellow) !important; border:1px solid var(--slate-line); padding:11px 18px; transition:all .25s; white-space:nowrap; text-decoration:none; }
        .tw-gal-home-link:hover { border-color:var(--tw-yellow); background:rgba(212,199,87,.08); }
        .tw-gal-home-slider { display:flex; flex-wrap:nowrap; gap:18px; overflow-x:auto; overflow-y:hidden; padding:6px 0 18px; }
        .tw-gal-home-slider > .tw-gal-card { flex:0 0 calc((100% - 72px) / 5); }
        @media (max-width:1200px){ .tw-gal-home-slider > .tw-gal-card { flex:0 0 calc((100% - 54px) / 4); } }
        @media (max-width:900px){ .tw-gal-home-slider > .tw-gal-card { flex:0 0 42%; } }
        @media (max-width:600px){ .tw-gal-home-slider > .tw-gal-card { flex:0 0 62%; } .tw-gal-home { padding:54px 6%; } }
        .tw-gal-home-link:focus-visible { outline:2px solid var(--tw-yellow); outline-offset:3px; }

        /* Sonsuz kaydırma */
        #tw-gal-sentinel { height:1px; width:100%; }
        .tw-gal-loader, .tw-gal-end { text-align:center; margin-top:42px; font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.25em; text-transform:uppercase; }
        .tw-gal-end { color:var(--tw-bone-label); }
        .tw-gal-loader { color:var(--tw-yellow); animation:tw-gal-pulse 1.1s ease-in-out infinite; }
        @keyframes tw-gal-pulse { 0%,100%{opacity:.35;} 50%{opacity:1;} }
        .tw-gal-pagination { margin-top:50px; }

        /* ===== Lightbox (modal dialog) ===== */
        .tw-lb { position:fixed; inset:0; z-index:9999; display:none; }
        .tw-lb.open { display:block; }
        .tw-lb-backdrop { position:absolute; inset:0; background:rgba(6,6,6,.94); backdrop-filter:blur(4px); }
        .tw-lb-dialog { position:absolute; inset:0; margin:auto; display:flex; flex-direction:column; max-width:min(1100px,94vw); max-height:92vh; padding:0; }
        .tw-lb-figure { position:relative; margin:auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:0; width:100%; max-height:92vh; background:var(--slate); border:1px solid var(--slate-line); overflow:hidden; }
        .tw-lb-imgwrap { position:relative; background:var(--slate); display:flex; align-items:center; justify-content:center; min-height:0; }
        .tw-lb-img { display:block; width:100%; height:100%; max-height:92vh; object-fit:contain; }
        .tw-lb-meta { padding:32px 30px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; background:var(--slate-card); }
        .tw-lb-album { font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--tw-rust-bright); margin:0; }
        .tw-lb-title { font-family: var(--tw-font-display); font-size:26px; font-weight:700; color:var(--tw-bone); line-height:1.2; margin:0; }
        .tw-lb-caption { font-family: var(--tw-font-body); font-weight:400; font-size:15px; color:var(--tw-bone-soft); margin:0; }
        .tw-lb-painter { font-family: var(--tw-font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--tw-bone-label); margin:0; }
        .tw-lb-painter .v { color:var(--tw-yellow); }
        .tw-lb-desc { font-family: var(--tw-font-body); font-weight:300; font-size:15px; line-height:1.7; color:var(--tw-bone-sec); margin:0; }
        .tw-lb-ctawrap { margin-top:auto; padding-top:18px; border-top:1px solid var(--slate-line); }
        .tw-lb-ctalabel { font-family: var(--tw-font-body); font-size:13px; color:var(--tw-bone-sec); margin:0 0 10px; }
        .tw-lb-cta { display:inline-block; font-family: var(--tw-font-body); font-weight:600; font-size:13px; letter-spacing:.1em; text-transform:uppercase; padding:13px 24px; background:var(--tw-yellow); color:var(--slate) !important; border:1px solid var(--tw-yellow); text-decoration:none; transition:all .2s; }
        .tw-lb-cta:hover { background:transparent; color:var(--tw-yellow) !important; }

        /* Lightbox kontrolleri (min 44px dokunma) */
        .tw-lb-close, .tw-lb-nav { position:absolute; z-index:5; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid var(--slate-line); background:rgba(12,12,12,.86); color:var(--tw-bone); cursor:pointer; transition:all .2s; }
        .tw-lb-close:hover, .tw-lb-nav:hover { border-color:var(--tw-yellow); color:var(--tw-yellow); }
        .tw-lb-close { top:14px; right:14px; font-size:18px; line-height:1; }
        .tw-lb-nav { top:50%; transform:translateY(-50%); font-size:30px; line-height:1; }
        .tw-lb-prev { left:14px; }
        .tw-lb-next { right:14px; }

        /* "Kullandığımız malzemeler" şeridi artık x-terminal::product-strip bileşeniyle
           çiziliyor (tek kaynak); bu sayfaya özel malzeme-şeridi stilleri kaldırıldı. */

        /* ===== Özel sipariş CTA bandı ===== */
        /* Siyah zemin = sayfa ritmi: grid(siyah) → malzeme şeridi(bant) → CTA(siyah) → footer(bant) */
        .tw-gal-cta-sec { padding:64px 6%; background:var(--slate); border-top:1px solid var(--slate-line); }
        .tw-gal-cta-box { max-width:820px; margin:0 auto; text-align:center; }
        .tw-gal-cta-eye { font-family: var(--tw-font-mono); font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--tw-rust-bright); margin:0 0 14px; }
        .tw-gal-cta-title { font-family: var(--tw-font-display); font-size:clamp(24px,3.2vw,34px); font-weight:700; color:var(--tw-bone); letter-spacing:.02em; margin:0 0 14px; }
        .tw-gal-cta-lead { font-family: var(--tw-font-body); font-weight:300; font-size:17px; line-height:1.65; color:var(--tw-bone-muted); margin:0 auto 26px; max-width:54ch; }
        .tw-gal-cta-btn { display:inline-block; font-family: var(--tw-font-body); font-weight:600; font-size:14px; letter-spacing:.12em; text-transform:uppercase; padding:15px 32px; background:var(--tw-yellow); color:var(--slate) !important; border:1px solid var(--tw-yellow); text-decoration:none; transition:all .2s; }
        .tw-gal-cta-btn:hover { background:transparent; color:var(--tw-yellow) !important; }

        /* Erişilebilirlik */
        .tw-gal-card:focus-visible, .tw-gal-tab:focus-visible,
        .tw-lb-close:focus-visible, .tw-lb-nav:focus-visible, .tw-lb-cta:focus-visible, .tw-gal-cta-btn:focus-visible {
            outline:2px solid var(--tw-yellow); outline-offset:3px;
        }

        /* Responsive */
        @media (max-width:1200px){ .tw-gal-grid{grid-template-columns:repeat(4,1fr);} }
        @media (max-width:900px){ .tw-gal-grid{grid-template-columns:repeat(3,1fr);} }
        @media (max-width:760px){
            .tw-lb-figure{grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; max-height:94vh;}
            .tw-lb-img{max-height:56vh;}
            .tw-lb-meta{max-height:38vh;}
        }
        @media (max-width:600px){
            .tw-gal-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
            .tw-gal-page{padding:48px 5% 64px;}
            .tw-gal-name{font-size:13px;}
            .tw-lb-meta{padding:22px 20px;}
            .tw-lb-title{font-size:21px;}
        }

        @media (prefers-reduced-motion: reduce){
            .tw-gal-card, .tw-lb-close, .tw-lb-nav, .tw-gal-loader, .tw-lb-cta, .tw-gal-cta-btn { transition:none !important; animation:none !important; }
            .tw-gal-card:hover { transform:none; }
        }

/* ===== Workshop/src/Resources/views/shop/styles.blade.php ===== */
/* ===== TERMINAL — Atölyeler ===== */
        .tw-ws-page { background: var(--slate); min-height: 60vh; padding: 56px 6% 84px; }
        .tw-ws-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: "Special Elite", monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--tw-bone-label); margin-bottom: 30px; }
        .tw-ws-crumbs a { color: var(--tw-bone-sec); text-decoration: none; transition: color .2s; }
        .tw-ws-crumbs a:hover { color: var(--tw-yellow); }
        .tw-ws-crumbs .sep { color: var(--tw-line-warm); }
        .tw-ws-crumbs .cur { color: var(--tw-yellow); }

        .tw-ws-page-head { max-width: 760px; margin-bottom: 30px; }
        .tw-ws-eye { font-family: "Special Elite", monospace; font-size: 12px; letter-spacing: .3em; color: var(--tw-yellow); text-transform: uppercase; margin-bottom: 12px; }
        .tw-ws-h1 { font-family: "Cinzel", serif; font-size: clamp(30px, 4vw, 44px); font-weight: 700; color: var(--tw-bone); letter-spacing: .02em; margin: 0 0 16px; }
        .tw-ws-intro { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.7; color: var(--tw-bone-sec); margin: 0; }

        /* Tabs + filters bar */
        .tw-ws-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--slate-line); padding-bottom: 18px; margin-bottom: 30px; }
        .tw-ws-tabs { display: flex; gap: 8px; }
        .tw-ws-tab { font-family: "Oswald", sans-serif; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--tw-bone-sec); border: 1px solid var(--slate-line); padding: 10px 20px; transition: all .2s; text-decoration: none; min-height: 24px; }
        .tw-ws-tab:hover { border-color: var(--tw-yellow); color: var(--tw-yellow); }
        .tw-ws-tab.active { background: var(--tw-yellow); color: var(--slate); border-color: var(--tw-yellow); font-weight: 500; }
        .tw-ws-count { font-family: "Special Elite", monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--tw-bone-label); }

        .tw-ws-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 34px; }
        .tw-ws-flabel { font-family: "Special Elite", monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--tw-bone-label); margin-right: 4px; }
        .tw-ws-chip { font-family: "Oswald", sans-serif; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tw-bone-sec); border: 1px solid var(--slate-line); padding: 7px 14px; min-height: 24px; transition: all .2s; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
        .tw-ws-chip:hover { border-color: var(--tw-yellow); color: var(--tw-yellow); }
        .tw-ws-chip.active { background: rgba(212, 199, 87, .12); border-color: var(--tw-yellow); color: var(--tw-yellow); }

        /* Grid */
        .tw-ws-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
        .tw-ws-empty { font-family: "Oswald", sans-serif; color: var(--tw-bone-label); padding: 48px 0; text-align: center; font-size: 15px; }

        /* ===== Ana sayfa şeridi: tek sıra yatay kaydırma, masaüstü 5 / mobil 2 + peek =====
           (ürün/blog şeritleriyle aynı ritim). Tanım .tw-ws-grid'ten SONRA → display:flex kazanır.
           Yalnız ana sayfa x-workshop::section bileşeni; /atolyeler liste ızgarası etkilenmez. */
        .tw-ws-strip { display: flex; flex-wrap: nowrap; gap: 18px; overflow-x: auto; overflow-y: hidden; padding: 6px 0 14px; scrollbar-width: thin; scrollbar-color: var(--slate-line2) transparent; -webkit-overflow-scrolling: touch; }
        .tw-ws-strip::-webkit-scrollbar { height: 8px; }
        .tw-ws-strip::-webkit-scrollbar-track { background: var(--slate-card); }
        .tw-ws-strip::-webkit-scrollbar-thumb { background: var(--slate-line2); border-radius: 0; }
        .tw-ws-strip::-webkit-scrollbar-thumb:hover { background: var(--tw-yellow); }
        .tw-ws-strip > .tw-ws-card { flex: 0 0 calc((100% - 72px) / 5); }
        @media (max-width: 900px) { .tw-ws-strip > .tw-ws-card { flex: 0 0 30%; } }   /* ~3 */
        @media (max-width: 600px) { .tw-ws-strip > .tw-ws-card { flex: 0 0 44%; } }   /* mobil 2 + peek */

        /* 5'li şeritte kartları zarifleştir (kibar) — yalnız şerit; liste/PDP kartları dokunulmaz */
        .tw-ws-strip .tw-ws-img { aspect-ratio: 4 / 3; }
        .tw-ws-strip .tw-ws-fmt { top: 10px; left: 10px; gap: 4px; font-size: 9.5px; padding: 4px 8px; }
        .tw-ws-strip .tw-ws-fmt [class^="icon-"], .tw-ws-strip .tw-ws-fmt [class*=" icon-"] { font-size: 12px; }
        .tw-ws-strip .tw-ws-date-chip { top: 10px; right: 10px; font-size: 9px; padding: 4px 7px; }
        .tw-ws-strip .tw-ws-status { bottom: 10px; left: 10px; font-size: 9.5px; padding: 4px 9px; }
        .tw-ws-strip .tw-ws-body { padding: 14px 14px 10px; gap: 8px; }
        .tw-ws-strip .tw-ws-level, .tw-ws-strip .tw-ws-dur { font-size: 9.5px; }
        .tw-ws-strip .tw-ws-title { font-size: 15px; line-height: 1.3; }
        .tw-ws-strip .tw-ws-desc { font-size: 12px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .tw-ws-strip .tw-ws-seat-line, .tw-ws-strip .tw-ws-scarcity { font-size: 11px; }
        .tw-ws-strip .tw-ws-foot { padding: 11px 14px 14px; gap: 8px; }
        .tw-ws-strip .tw-ws-price { font-size: 15px; }
        .tw-ws-strip .tw-ws-price small { font-size: 8.5px; }
        .tw-ws-strip .tw-ws-cta { font-size: 11px; letter-spacing: .1em; padding: 8px 11px; }

        /* Card */
        .tw-ws-card { display: flex; flex-direction: column; background: var(--slate-card); border: 1px solid var(--slate-line); overflow: hidden; transition: all .25s; position: relative; }
        .tw-ws-card:hover { border-color: var(--tw-yellow); transform: translateY(-3px); }
        .tw-ws-card-main { display: flex; flex-direction: column; flex: 1; text-decoration: none; }
        .tw-ws-img { position: relative; aspect-ratio: 16 / 10; background-size: cover; background-position: center; background-color: var(--slate); }
        .tw-ws-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 10, 10, .82) 0%, transparent 58%); }

        /* Badges on image */
        .tw-ws-fmt { position: absolute; top: 14px; left: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; font-family: "Oswald", sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; padding: 5px 11px; background: rgba(10, 10, 10, .82); border: 1px solid; backdrop-filter: blur(2px); }
        .tw-ws-fmt [class^="icon-"], .tw-ws-fmt [class*=" icon-"] { font-size: 14px; }
        .tw-ws-fmt.f-online { color: var(--tw-info); border-color: var(--tw-info-dark); }
        .tw-ws-fmt.f-yuz_yuze { color: var(--tw-yellow); border-color: var(--tw-line-olive); }
        .tw-ws-fmt.f-hibrit { color: var(--tw-violet); border-color: var(--tw-violet-dark); }
        .tw-ws-date-chip { position: absolute; top: 14px; right: 14px; z-index: 2; font-family: "Special Elite", monospace; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--slate); background: var(--tw-yellow); padding: 5px 9px; line-height: 1.3; text-align: center; }
        .tw-ws-status { position: absolute; bottom: 14px; left: 14px; z-index: 2; font-family: "Oswald", sans-serif; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; padding: 5px 12px; font-weight: 500; }
        .tw-ws-status.s-sold_out { background: var(--tw-wine); color: var(--tw-wine-light); }
        .tw-ws-status.s-past { background: var(--slate-line); color: var(--tw-bone-sec); }

        /* Body */
        .tw-ws-body { padding: 20px 20px 14px; display: flex; flex-direction: column; gap: 11px; flex: 1; }
        .tw-ws-tags { display: flex; flex-wrap: wrap; gap: 8px; }
        .tw-ws-level, .tw-ws-dur { font-family: "Special Elite", monospace; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--tw-bone-label); }
        .tw-ws-dur::before { content: '· '; }
        .tw-ws-title { font-family: "Cinzel", serif; font-size: 19px; font-weight: 600; color: var(--tw-bone); line-height: 1.32; margin: 0; }
        .tw-ws-desc { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 13.5px; line-height: 1.6; color: var(--tw-bone-sec); margin: 0; }

        /* Seats / scarcity */
        .tw-ws-seats { display: flex; flex-direction: column; gap: 3px; margin-top: 2px; }
        .tw-ws-seat-line { font-family: "Oswald", sans-serif; font-size: 12px; letter-spacing: .04em; color: var(--tw-bone-sec); }
        .tw-ws-seat-line.low { color: var(--tw-amber); font-weight: 500; }
        .tw-ws-seat-line.full { color: var(--tw-wine-rose); }
        .tw-ws-scarcity { display: inline-flex; align-items: center; gap: 6px; font-family: "Oswald", sans-serif; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--tw-amber); font-weight: 500; }
        .tw-ws-scarcity::before { content: '●'; font-size: 8px; }

        /* Foot */
        .tw-ws-foot { padding: 13px 20px 18px; border-top: 1px solid var(--slate); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
        .tw-ws-price { font-family: "Oswald", sans-serif; font-size: 17px; font-weight: 600; color: var(--tw-yellow); display: flex; flex-direction: column; line-height: 1.1; }
        .tw-ws-price small { font-family: "Special Elite", monospace; font-size: 9px; letter-spacing: .12em; color: var(--tw-bone-label); text-transform: uppercase; font-weight: 400; margin-bottom: 3px; }
        .tw-ws-cta { font-family: "Oswald", sans-serif; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--tw-yellow); border: 1px solid var(--tw-line-olive); padding: 9px 15px; transition: all .2s; white-space: nowrap; background: transparent; cursor: pointer; line-height: 1; text-decoration: none; }
        .tw-ws-card:hover .tw-ws-cta { background: var(--tw-yellow); color: var(--slate); border-color: var(--tw-yellow); }
        .tw-ws-cta.wait { color: var(--tw-wine-rose); border-color: var(--tw-wine-dark); }
        .tw-ws-card:hover .tw-ws-cta.wait { background: var(--tw-wine); color: var(--tw-wine-light); border-color: var(--tw-wine); }

        /* Dimmed states */
        .tw-ws-card.is-past { opacity: .72; }
        .tw-ws-card.is-past .tw-ws-img, .tw-ws-card.is-sold-out .tw-ws-img { filter: grayscale(.5); }
        .tw-ws-card.is-past:hover { opacity: 1; }

        /* ===== Waitlist form ===== */
        .tw-ws-wait { background: var(--slate-card); border: 1px solid var(--tw-line-wine); padding: 22px; }
        .tw-ws-wait h3 { font-family: "Cinzel", serif; font-size: 18px; color: var(--tw-bone); margin: 0 0 8px; }
        .tw-ws-wait p { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 13.5px; line-height: 1.6; color: var(--tw-bone-sec); margin: 0 0 16px; }
        .tw-ws-aw-wrap .row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
        .tw-ws-aw-wrap input[type="text"], .tw-ws-aw-wrap input[type="email"] { flex: 1 1 180px; background: var(--slate); border: 1px solid var(--slate-line); color: var(--tw-bone); padding: 11px 14px; font-family: "Oswald", sans-serif; font-size: 14px; }
        .tw-ws-aw-wrap input::placeholder { color: var(--tw-bone-faint); }
        .tw-ws-aw-wrap input:focus { outline: none; border-color: var(--tw-yellow); }
        .tw-ws-aw-wrap .consent { display: flex; align-items: flex-start; gap: 8px; font-family: "Oswald", sans-serif; font-weight: 300; font-size: 12px; line-height: 1.5; color: var(--tw-bone-label); margin-bottom: 14px; }
        .tw-ws-aw-wrap .consent input { margin-top: 3px; accent-color: var(--tw-yellow); flex: 0 0 auto; }
        .tw-ws-aw-wrap button[type="submit"] { font-family: "Oswald", sans-serif; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; background: var(--tw-yellow); color: var(--slate); border: none; padding: 12px 22px; cursor: pointer; transition: background .2s; font-weight: 500; width: 100%; }
        .tw-ws-aw-wrap button[type="submit"]:hover { background: var(--tw-yellow-light); }
        .tw-ws-flash { font-family: "Oswald", sans-serif; font-size: 13px; line-height: 1.5; padding: 12px 16px; margin-bottom: 16px; border: 1px solid; }
        .tw-ws-flash.ok { color: var(--tw-success-light); border-color: var(--tw-success-dark); background: rgba(46, 90, 48, .12); }
        .tw-ws-flash.warn { color: var(--tw-amber); border-color: var(--tw-line-amber); background: rgba(90, 74, 46, .12); }

        /* Bekleme listesi modal (liste sayfası) */
        .tw-ws-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; }
        .tw-ws-modal[hidden] { display: none; }
        .tw-ws-modal-backdrop { position: absolute; inset: 0; background: rgba(5, 5, 5, .78); }
        .tw-ws-modal-box { position: relative; z-index: 1; width: 100%; max-width: 440px; background: var(--slate-card); border: 1px solid var(--tw-line-wine); padding: 30px 28px 28px; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); max-height: 90vh; overflow-y: auto; }
        .tw-ws-modal-x { position: absolute; top: 10px; right: 14px; background: none; border: none; color: var(--tw-bone-label); font-size: 26px; line-height: 1; cursor: pointer; padding: 4px 8px; transition: color .2s; }
        .tw-ws-modal-x:hover { color: var(--tw-yellow); }
        .tw-ws-modal-eye { font-family: "Special Elite", monospace; font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--tw-yellow); margin: 0 0 8px; }
        .tw-ws-modal-h { font-family: "Cinzel", serif; font-size: 20px; color: var(--tw-bone); margin: 0 0 10px; line-height: 1.3; }
        .tw-ws-modal-desc { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 13.5px; line-height: 1.6; color: var(--tw-bone-sec); margin: 0 0 18px; }

        /* ===== PDP injection ===== */
        .tw-ws-pdp { background: var(--slate); padding: 56px 6% 64px; border-top: 1px solid var(--slate); }
        .tw-ws-pdp-wrap { max-width: 1080px; margin: 0 auto; }
        .tw-ws-pdp-sec { margin-bottom: 44px; }
        .tw-ws-pdp-sec:last-child { margin-bottom: 0; }
        .tw-ws-pdp-h2 { font-family: "Cinzel", serif; font-size: 24px; font-weight: 600; color: var(--tw-bone); margin: 0 0 20px; letter-spacing: .02em; }
        .tw-ws-pdp-h2 small { display: block; font-family: "Special Elite", monospace; font-size: 11px; letter-spacing: .25em; color: var(--tw-yellow); text-transform: uppercase; margin-bottom: 8px; }

        /* Spec sheet */
        .tw-ws-spec { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 44px; }
        .tw-ws-spec-item { background: var(--slate-card); border: 1px solid var(--slate-line); padding: 16px 18px; }
        .tw-ws-spec-item .k { font-family: "Special Elite", monospace; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--tw-bone-label); margin-bottom: 7px; display: flex; align-items: center; gap: 6px; }
        .tw-ws-spec-item .v { font-family: "Oswald", sans-serif; font-size: 15px; color: var(--tw-bone); font-weight: 400; }

        .tw-ws-pdp-summary { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 17px; line-height: 1.75; color: var(--tw-bone-soft); margin: 0 0 8px; }

        /* Instructor */
        .tw-ws-inst { display: flex; gap: 20px; align-items: center; background: var(--slate-card); border: 1px solid var(--slate-line); padding: 22px; }
        .tw-ws-inst img { width: 92px; height: 92px; object-fit: cover; border: 1px solid var(--slate-line); flex-shrink: 0; }
        .tw-ws-inst .nm { font-family: "Cinzel", serif; font-size: 18px; color: var(--tw-bone); margin: 0; }
        .tw-ws-inst .tt { font-family: "Special Elite", monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--tw-yellow); margin: 4px 0 10px; }
        .tw-ws-inst .bio { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 14px; line-height: 1.65; color: var(--tw-bone-sec); margin: 0; }

        /* Lists */
        .tw-ws-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
        .tw-ws-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
        .tw-ws-list li { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 15px; line-height: 1.5; color: var(--tw-bone-soft); padding-left: 24px; position: relative; }
        .tw-ws-list li::before { content: '▸'; position: absolute; left: 0; color: var(--tw-yellow); }
        .tw-ws-agenda { list-style: none; padding: 0; margin: 0; }
        .tw-ws-agenda li { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--slate); }
        .tw-ws-agenda .t { font-family: "Special Elite", monospace; font-size: 13px; color: var(--tw-yellow); min-width: 64px; }
        .tw-ws-agenda .x { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 15px; color: var(--tw-bone-soft); }

        /* Online box */
        .tw-ws-online { background: var(--slate); border: 1px solid var(--slate-card); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
        .tw-ws-online .ln { display: flex; gap: 10px; font-family: "Oswald", sans-serif; font-size: 14.5px; color: var(--tw-bone-soft); }
        .tw-ws-online .ln b { color: var(--tw-info); font-weight: 500; min-width: 120px; }
        .tw-ws-online .note { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 13px; color: var(--tw-bone-label); font-style: italic; border-top: 1px solid var(--slate); padding-top: 12px; }

        /* FAQ */
        .tw-ws-faq details { border-bottom: 1px solid var(--slate); }
        .tw-ws-faq summary { font-family: "Oswald", sans-serif; font-size: 16px; color: var(--tw-bone); padding: 16px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
        .tw-ws-faq summary::-webkit-details-marker { display: none; }
        .tw-ws-faq summary::after { content: '+'; color: var(--tw-yellow); font-size: 20px; }
        .tw-ws-faq details[open] summary::after { content: '−'; }
        .tw-ws-faq .a { font-family: "Oswald", sans-serif; font-weight: 300; font-size: 14.5px; line-height: 1.7; color: var(--tw-bone-sec); padding: 0 0 18px; margin: 0; }

        /* PDP gallery */
        .tw-ws-gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
        .tw-ws-gal img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border: 1px solid var(--slate-line); }

        /* Accessibility */
        .tw-ws-card:focus-visible, .tw-ws-tab:focus-visible, .tw-ws-chip:focus-visible, .tw-ws-cta:focus-visible { outline: 2px solid var(--tw-yellow); outline-offset: 3px; }
        .tw-ws-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

        @media (prefers-reduced-motion: reduce) {
            .tw-ws-card, .tw-ws-cta, .tw-ws-tab, .tw-ws-chip { transition: none !important; }
            .tw-ws-card:hover { transform: none; }
        }

        /* Responsive */
        @media (max-width: 1100px) { .tw-ws-grid { grid-template-columns: repeat(2, 1fr); } .tw-ws-spec { grid-template-columns: repeat(2, 1fr); } .tw-ws-gal { grid-template-columns: repeat(3, 1fr); } }
        @media (max-width: 760px) {
            .tw-ws-page { padding: 40px 5% 64px; }
            .tw-ws-grid { grid-template-columns: 1fr; }
            .tw-ws-cols { grid-template-columns: 1fr; gap: 22px; }
            .tw-ws-spec { grid-template-columns: 1fr 1fr; }
            .tw-ws-gal { grid-template-columns: repeat(2, 1fr); }
            .tw-ws-inst { flex-direction: column; text-align: center; }
            .tw-ws-bar { flex-direction: column; align-items: flex-start; }
        }

/* ===== Blog/src/Resources/views/shop/styles.blade.php ===== */
/* ===== Terminal blog / rehber ===== */
        .tw-blog-sec { padding: 70px 6%; background: var(--slate); }
        .tw-blog-sec.alt { background: var(--slate-card); }
        .tw-blog-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 38px; flex-wrap: wrap; gap: 14px; border-bottom: 1px solid var(--slate-line); padding-bottom: 20px; }
        .tw-blog-eye { font-family: var(--tw-font-mono); font-size: 12px; letter-spacing: .3em; color: var(--tw-yellow); text-transform: uppercase; margin-bottom: 8px; }
        .tw-blog-title { font-family: var(--tw-font-display); font-size: 34px; font-weight: 700; color: var(--tw-bone); letter-spacing: .03em; margin: 0; }
        .tw-blog-link { font-family: var(--tw-font-body); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--tw-yellow) !important; border: 1px solid var(--slate-line); padding: 11px 18px; transition: all .25s; white-space: nowrap; text-decoration: none; }
        .tw-blog-link:hover { border-color: var(--tw-yellow); background: rgba(212, 199, 87, .08); }

        .tw-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
        /* Ana sayfa karuseli: tek sıra + taşınca yatay kaydırma (liste sayfasını etkilemez).
           Masaüstü 5 / mobil 2 + peek — ürün şeridiyle (x-terminal::product-strip) aynı ritim. */
        .tw-blog-slider { display: flex; flex-wrap: nowrap; gap: 18px; overflow-x: auto; overflow-y: hidden; padding: 6px 0 14px; }
        .tw-blog-slider > .tw-blog-card { flex: 0 0 calc((100% - 72px) / 5); }
        @media (max-width: 900px) { .tw-blog-slider > .tw-blog-card { flex: 0 0 30%; } }   /* ~3 */
        @media (max-width: 600px) { .tw-blog-slider > .tw-blog-card { flex: 0 0 44%; } }   /* mobil 2 + peek */

        /* 5'li şeritte kartları zarifleştir (kibar) — yalnız slider; liste/detay kartlarına dokunmaz */
        .tw-blog-slider > .tw-blog-card .tw-blog-thumb { aspect-ratio: 4 / 3; }
        .tw-blog-slider > .tw-blog-card .tw-blog-cat { top: 10px; left: 10px; font-size: 9px; letter-spacing: .16em; padding: 3px 8px; }
        .tw-blog-slider > .tw-blog-card .tw-blog-body { padding: 14px 14px 18px; gap: 8px; }
        .tw-blog-slider > .tw-blog-card .tw-blog-date { font-size: 10px; letter-spacing: .12em; }
        .tw-blog-slider > .tw-blog-card .tw-blog-name { font-size: 15px; line-height: 1.3; }
        .tw-blog-slider > .tw-blog-card .tw-blog-excerpt { font-size: 12.5px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .tw-blog-slider > .tw-blog-card .tw-blog-more { font-size: 11px; letter-spacing: .12em; }
        .tw-blog-card { display: flex; flex-direction: column; background: var(--slate-card); border: 1px solid var(--slate-line); overflow: hidden; transition: all .25s; text-decoration: none; }
        .tw-blog-card:hover { border-color: var(--tw-yellow); transform: translateY(-3px); }
        .tw-blog-thumb { position: relative; aspect-ratio: 16 / 10; background-size: cover; background-position: center; background-color: var(--slate); }
        .tw-blog-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 10, 10, .7) 0%, transparent 55%); }
        .tw-blog-cat { position: absolute; top: 14px; left: 14px; z-index: 2; font-family: var(--tw-font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--slate); background: var(--tw-yellow); padding: 4px 10px; }
        .tw-blog-body { padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
        .tw-blog-date { font-family: var(--tw-font-mono); font-size: 11px; letter-spacing: .15em; color: var(--tw-bone-label); text-transform: uppercase; }
        .tw-blog-name { font-family: var(--tw-font-display); font-size: 19px; font-weight: 600; color: var(--tw-bone); line-height: 1.35; margin: 0; }
        .tw-blog-excerpt { font-family: var(--tw-font-body); font-weight: 300; font-size: 14px; line-height: 1.6; color: var(--tw-bone-sec); margin: 0; }
        .tw-blog-more { margin-top: auto; font-family: var(--tw-font-body); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--tw-yellow); }
        .tw-blog-empty { font-family: var(--tw-font-body); color: var(--tw-bone-label); padding: 30px 0; text-align: center; }

        /* Listing page */
        .tw-blog-page { background: var(--slate); min-height: 60vh; padding: 60px 6% 80px; }
        .tw-blog-page-head { text-align: center; margin-bottom: 10px; }
        .tw-blog-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 26px 0 44px; }
        .tw-blog-tab { font-family: var(--tw-font-body); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--tw-bone-sec); border: 1px solid var(--slate-line); padding: 9px 18px; transition: all .2s; text-decoration: none; }
        .tw-blog-tab:hover { border-color: var(--tw-yellow); color: var(--tw-yellow); }
        .tw-blog-tab.active { background: var(--tw-yellow); color: var(--slate); border-color: var(--tw-yellow); }
        .tw-blog-pagination { margin-top: 50px; }

        /* Sonsuz kaydırma */
        #tw-blog-sentinel { height: 1px; width: 100%; }
        .tw-blog-loader, .tw-blog-end { text-align: center; margin-top: 42px; font-family: var(--tw-font-mono); font-size: 12px; letter-spacing: .25em; text-transform: uppercase; }
        .tw-blog-end { color: var(--tw-bone-label); }
        .tw-blog-loader { color: var(--tw-yellow); animation: tw-blog-pulse 1.1s ease-in-out infinite; }
        @keyframes tw-blog-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

        /* ===== Detail / article ===== */
        .tw-article { background: var(--slate); padding: 0 0 16px; }

        /* Hero — bant tam 16:9 oranında; yatay (16:9) kapak görseli üst/alttan kırpılmadan tam oturur,
           genişlikle birlikte yükseklik de büyür (kenardan kenara full-bleed cover). */
        .tw-article-hero { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--slate); border-bottom: 1px solid var(--slate-line); }
        .tw-article-hero-fg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 1; }
        .tw-article-hero::after { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to top, var(--slate) 0%, rgba(10, 10, 10, 0) 36%); }

        /* Wrap */
        .tw-article-wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }

        /* Breadcrumb */
        .tw-crumbs { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 26px; font-family: var(--tw-font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--tw-bone-label); }
        .tw-crumbs a { color: var(--tw-bone-sec); text-decoration: none; transition: color .2s; }
        .tw-crumbs a:hover { color: var(--tw-yellow); }
        .tw-crumbs .sep { color: var(--tw-line-warm); }
        .tw-crumbs .cur { color: var(--tw-yellow); max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

        /* Header */
        .tw-article-head { text-align: center; margin: 24px 0 0; }
        .tw-article-head.no-hero { margin-top: 64px; }
        .tw-article-eye { font-family: var(--tw-font-mono); font-size: 12px; letter-spacing: .3em; color: var(--tw-yellow); text-transform: uppercase; margin-bottom: 14px; }
        .tw-article-title { font-family: var(--tw-font-display); font-size: clamp(28px, 4vw, 42px); font-weight: 700; color: var(--tw-bone); line-height: 1.22; margin: 0 0 18px; letter-spacing: .01em; }
        .tw-article-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; font-family: var(--tw-font-mono); font-size: 12px; letter-spacing: .14em; color: var(--tw-bone-sec); text-transform: uppercase; margin: 0; }
        .tw-article-meta .author { color: var(--tw-yellow); }
        .tw-article-meta .dot { color: var(--tw-line-warm); }
        .tw-article-rule { width: 64px; height: 2px; background: var(--tw-yellow); margin: 26px auto 0; opacity: .85; }

        /* Share */
        .tw-share { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
        .tw-share-label { font-family: var(--tw-font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--tw-bone-label); }
        .tw-share-btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--slate-line); color: var(--tw-bone-sec); background: var(--slate-card); transition: all .2s; cursor: pointer; text-decoration: none; }
        .tw-share-btn svg { width: 17px; height: 17px; fill: currentColor; }
        .tw-share-btn:hover { border-color: var(--tw-yellow); color: var(--tw-yellow); transform: translateY(-2px); }
        .tw-share-copied { font-family: var(--tw-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--tw-yellow); opacity: 0; transition: opacity .2s; }
        .tw-share-copied.show { opacity: 1; }

        /* Content */
        .tw-article-content { font-family: var(--tw-font-body); font-weight: 300; font-size: 18px; line-height: 1.85; color: var(--tw-bone-soft); margin-top: 42px; }
        .tw-article-content > p:first-of-type { font-size: 20px; line-height: 1.8; color: var(--tw-bone); }
        .tw-article-content h2, .tw-article-content h3 { font-family: var(--tw-font-display); color: var(--tw-bone); margin: 38px 0 14px; font-weight: 600; line-height: 1.3; }
        .tw-article-content h2 { font-size: 26px; }
        .tw-article-content h3 { font-size: 21px; }
        .tw-article-content p { margin-bottom: 20px; }
        .tw-article-content a { color: var(--tw-yellow); text-underline-offset: 3px; }
        .tw-article-content ul, .tw-article-content ol { margin: 0 0 20px 22px; }
        .tw-article-content li { margin-bottom: 8px; }
        .tw-article-content img { max-width: 100%; height: auto; margin: 28px 0; border: 1px solid var(--slate-line); border-radius: 2px; }
        .tw-article-content blockquote { border-left: 3px solid var(--tw-yellow); padding: 4px 0 4px 20px; margin: 28px 0; color: var(--tw-bone); font-style: italic; font-size: 19px; }
        .tw-article-content strong { color: var(--tw-bone); font-weight: 600; }

        /* Article footer */
        .tw-article-foot { margin-top: 48px; padding-top: 26px; border-top: 1px solid var(--slate-line); text-align: center; }
        .tw-article-back { display: inline-block; font-family: var(--tw-font-body); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--tw-yellow); text-decoration: none; padding: 10px 6px; }
        .tw-article-back:hover { color: var(--tw-bone); }

        /* İlgili ürünler (yazı sayfasında) — siyah zemin; bant sırası sonraki
           Terminal Defteri (.tw-blog-sec.alt) bölümünün */
        .tw-prodrel { padding: 66px 6% 70px; background: var(--slate); }
        .tw-prodrel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
        .tw-prodrel-card { display: flex; flex-direction: column; background: var(--slate-card); border: 1px solid var(--slate-line); overflow: hidden; transition: all .25s; text-decoration: none; }
        .tw-prodrel-card:hover { border-color: var(--tw-yellow); transform: translateY(-3px); }
        .tw-prodrel-thumb { aspect-ratio: 1 / 1; background-size: cover; background-position: center; background-color: var(--slate); }
        .tw-prodrel-body { padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
        .tw-prodrel-name { font-family: var(--tw-font-display); font-size: 16px; font-weight: 600; color: var(--tw-bone); line-height: 1.35; margin: 0; }
        .tw-prodrel-price { margin-top: auto; font-family: var(--tw-font-body); font-size: 17px; font-weight: 600; color: var(--tw-yellow); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
        .tw-prodrel-price p { margin: 0; color: var(--tw-yellow); }
        .tw-prodrel-price .line-through { color: var(--tw-bone-label); font-weight: 400; font-size: 14px; }

        /* Erişilebilirlik */
        .tw-crumbs a:focus-visible, .tw-article-back:focus-visible, .tw-share-btn:focus-visible,
        .tw-prodrel-card:focus-visible, .tw-blog-card:focus-visible { outline: 2px solid var(--tw-yellow); outline-offset: 3px; }

        @media (prefers-reduced-motion: reduce) {
            .tw-blog-card, .tw-prodrel-card, .tw-share-btn, .tw-blog-loader { transition: none !important; animation: none !important; }
            .tw-blog-card:hover, .tw-prodrel-card:hover, .tw-share-btn:hover { transform: none; }
        }

        /* Responsive */
        @media (max-width: 1100px) { .tw-prodrel-grid { grid-template-columns: repeat(3, 1fr); } }
        @media (max-width: 900px)  { .tw-blog-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 760px)  { .tw-prodrel-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 600px) {
            .tw-blog-grid { grid-template-columns: 1fr; }
            .tw-blog-title { font-size: 26px; }
            .tw-article-wrap { padding: 0 20px; }
            .tw-article-content { font-size: 17px; margin-top: 34px; }
            .tw-article-content > p:first-of-type { font-size: 18px; }
            .tw-article-content h2 { font-size: 23px; }
            .tw-prodrel { padding: 54px 6% 58px; }
            .tw-blog-sec { padding: 54px 6%; }
        }
