/* ============ Общие для страницы 3 ============ */
.bazar-section{
  background:
    radial-gradient(900px 360px at 12% 0%, rgba(179,18,47,.10), transparent 60%),
    radial-gradient(900px 360px at 88% 0%, rgba(247,161,174,.07), transparent 60%);
}
.bazar-section .section__head + *{ margin-top: .6rem; }

/* Универсально: ограничение размеров изображений страницы 3 */
.bazar-section img{
  width: min(100%, 350px);
  height: auto;
  display: block;
  margin-inline: auto;
  border-radius: .8rem;
}

/* ============ Bölüm 1: Çarşı Şeridi — Raylı pano ============ */
.bazar-section--rail .rail-board{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr auto 1fr auto 1fr; /* stop / photo / stop / photo / accent */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem 1rem 1.2rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.rail-line{
  position:absolute; left: 50%; transform: translateX(-50%);
  top: .8rem; bottom: .8rem; width: 2px;
  background: linear-gradient(180deg, rgba(247,161,174,.0), rgba(247,161,174,.9), rgba(179,18,47,.0));
  animation: railGlow 8s ease-in-out infinite;
  filter: blur(.2px);
}
@keyframes railGlow{
  0%,100%{ opacity:.6 } 50%{ opacity:1 }
}
.stop{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.8rem .9rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.stop .t{ margin:.05rem 0 .3rem; font-weight:700; }
.stop .d{ margin:0; color:#f3e9ef; }

.rail-photo{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.rail-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.rail-photo--accent{ transform: rotate(.8deg); }
.rail-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 980px){
  .bazar-section--rail .rail-board{ grid-template-columns: 1fr; }
  .rail-line{ display:none; }
  .rail-photo--accent{ transform:none; }
}

/* ============ Bölüm 2: Tat Rotası — Basamaklı tat çizgisi ============ */
.bazar-section--taste .taste-grid{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr; /* steps + 2 photos */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.taste-steps{
  margin:0; padding: .6rem 1rem .6rem 1.2rem; list-style:none;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.taste-steps .step{ position:relative; padding-left: 1.2rem; margin:.45rem 0; }
.taste-steps .seed{
  position:absolute; left:0; top:.3rem; width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
}
.taste-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.taste-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.taste-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 920px){
  .bazar-section--taste .taste-grid{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 3: Tur Biletleri — Eğik şeritler ============ */
.bazar-section--tickets .tickets{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr 1fr .9fr; /* ticket + photo + ticket + photo */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem 1rem 1.2rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.ticket{
  margin:0; padding: .85rem .95rem;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  position:relative; overflow:hidden;
}
.ticket::before, .ticket::after{
  /* delikli bilet kenarı etkisi */
  content:""; position:absolute; width: 18px; height: 18px; border-radius:50%;
  background: #181016; opacity:.8; box-shadow: 0 0 0 1px rgba(247,161,174,.35) inset;
}
.ticket::before{ left:-9px; top: 18px; }
.ticket::after { right:-9px; bottom: 18px; }
.ticket .t{ margin:.05rem 0 .25rem; font-weight:700; }
.ticket .d{ margin:0; color:#f3e9ef; }
.ticket--am{ transform: rotate(-.8deg); }
.ticket--pm{ transform: rotate(.8deg); }

.ticket-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ticket-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.ticket-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 1020px){
  .bazar-section--tickets .tickets{ grid-template-columns: 1fr; }
  .ticket--am, .ticket--pm{ transform:none; }
}
/* === Fix: Çarşı Şeridi (секция 1) — выравнивание и без скроллов === */

/* 1) Стабильная сетка: 3 колонки на десктопе (стоп — фото — стоп), 
      акцент-фото в центре на второй строке */
.bazar-section--rail .rail-board{
  grid-template-columns: 1fr 1fr 1fr !important;
  grid-auto-flow: row dense;
  grid-auto-rows: auto;
  overflow: visible;                /* гарантированно без внутренних скроллов */
}

/* 2) Нормализуем размеры, чтобы ничего не вылазило за ячейку */
.bazar-section--rail .stop,
.bazar-section--rail .rail-photo{
  min-width: 0;                     /* предотвратить overflow по ширине */
}

/* 3) Раскладка элементов по колонкам в текущем порядке HTML */
.bazar-section--rail .rail-board > .stop:nth-of-type(1){ grid-column: 1; }
.bazar-section--rail .rail-board > .rail-photo:nth-of-type(1){ grid-column: 2; }
.bazar-section--rail .rail-board > .stop:nth-of-type(2){ grid-column: 3; }
.bazar-section--rail .rail-board > .rail-photo:nth-of-type(2){ grid-column: 3; } /* встанет на след. строку */
.bazar-section--rail .rail-board > .rail-photo.rail-photo--accent{ grid-column: 2; } /* центр, 2-я строка */

/* 4) Декор: центральная линия остаётся, лишние псевдоэлементы от глобальных правил — в ноль */
.bazar-section--rail .rail-board::before,
.bazar-section--rail .rail-board::after{ content: none !important; }

/* 5) Мобилка — один столбец, без декоративной линии */
@media (max-width: 980px){
  .bazar-section--rail .rail-board{ grid-template-columns: 1fr !important; }
  .bazar-section--rail .rail-line{ display: none !important; }
}
/* === Çarşı Şeridi — мобильная фиксация: один столбец, без узких колонок === */
@media (max-width: 980px){
  .bazar-section--rail .rail-board{
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    align-items: stretch;
    gap: .8rem !important;
    padding: .8rem !important;
  }

  /* КЛЮЧЕВОЕ: все дочерние элементы занимают единственную колонку */
  .bazar-section--rail .rail-board > *{
    grid-column: 1 / -1 !important;
    justify-self: stretch;
  }

  /* Декоративную линию убираем, акцент не наклоняем */
  .bazar-section--rail .rail-line{ display: none !important; }
  .bazar-section--rail .rail-photo--accent{ transform: none !important; }

  /* Картинки на 100% карточки и без искажений */
  .bazar-section--rail .rail-photo{ box-sizing: border-box; }
  .bazar-section--rail .rail-photo img{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    display: block;
  }

  /* Текст в «stop» не ломаем в узкие столбики */
  .bazar-section--rail .stop{
    width: 100%;
    word-break: normal;
    overflow-wrap: anywhere;
  }
}
/* ========== 4) Gezici Tezgâh Rotası ========== */
.bazar-section--mobilecarts .carts-grid{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.zigtrack{
  margin:0; list-style:none; padding: .7rem .9rem;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.zstep{ position:relative; padding-left: 1.2rem; margin:.45rem 0; }
.zstep .seed{
  position:absolute; left:0; top:.35rem; width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
  animation: seedPulse 2.4s ease-in-out infinite;
}
@keyframes seedPulse{
  0%,100%{ transform: scale(1); } 50%{ transform: scale(1.2); }
}
.cart-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.cart-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4);}
.cart-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
.tilt-left{ transform: rotate(-1.1deg); } .tilt-right{ transform: rotate(1.1deg); }
@media (max-width: 980px){ .bazar-section--mobilecarts .carts-grid{ grid-template-columns: 1fr; } .tilt-left,.tilt-right{ transform:none; }}

/* ========== 5) Fiyat & Ölçü Şeritleri ========== */
.bazar-section--prices .price-ribbons{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr 1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem 1rem 1.2rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.ribbon{
  margin:0; padding:.85rem .95rem;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 14px;
  position:relative; overflow:hidden; box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.ribbon::before{
  content:""; position:absolute; left:-20%; top:0; width:140%; height:4px;
  background: linear-gradient(90deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  transform: rotate(-6deg);
}
.r1{ transform: rotate(-.8deg); } .r2{ transform: rotate(.8deg); }
.price-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.price-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4);}
.price-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 1020px){ .bazar-section--prices .price-ribbons{ grid-template-columns: 1fr; } .r1,.r2{ transform:none; }}

/* ========== 6) Mini Tur Haritaları ========== */
.bazar-section--minimaps .minimaps{
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr 1fr .9fr; /* route + photo + route + photo */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.route-card{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.8rem .9rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.route-card .t{ margin:.05rem 0 .3rem; font-weight:700; }
.road{ margin:.3rem 0 0; padding-left: 1.1rem; }
.map-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.map-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4);}
.map-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 1020px){ .bazar-section--minimaps .minimaps{ grid-template-columns: 1fr; } }
/* ===== 4) Nar Pazarı Çarkı — spiral + вертикальная «кинолента» ===== */
.bazar-section--wheel .wheel-wrap{
  display:grid; gap:1rem;
  grid-template-columns: 1.2fr .8fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.wheel-fig{ margin:0; text-align:center; }
.wheel{
  width: 280px; aspect-ratio:1/1; margin-inline:auto; border-radius:50%;
  position:relative; overflow:hidden;
  background:
    radial-gradient(38% 38% at 50% 50%, rgba(255,255,255,.06), transparent 60%),
    conic-gradient(from -90deg, rgba(247,161,174,.18), rgba(179,18,47,.18));
  border:1px solid rgba(247,161,174,.25);
  box-shadow: inset 0 0 30px rgba(0,0,0,.35), 0 12px 32px rgba(0,0,0,.35);
}
.w-dot{
  position:absolute; width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
}
.w1{ left:50%; top:8%; transform:translate(-50%,0); }
.w2{ right:6%; top:50%; transform:translate(0,-50%); }
.w3{ left:10%; bottom:10%; }
.w-hand{
  position:absolute; left:50%; top:50%; width:42%; height:2px;
  background: rgba(247,161,174,.9); transform-origin:left center;
  animation: wheelHand 10s ease-in-out infinite;
}
@keyframes wheelHand{ 0%,100%{ transform:translate(-50%,-50%) rotate(-35deg);} 50%{ transform:translate(-50%,-50%) rotate(35deg);} }
.wheel-note{ margin-top:.4rem; color:#ffe6ea; }

.filmstrip{ display:grid; gap:.8rem; align-content:start; }
.film{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: .8rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.film::before, .film::after{
  /* перфорация плёнки */
  content:""; position:absolute; width:10px; top:6px; bottom:6px;
  background: repeating-linear-gradient(#181016 0 10px, transparent 10px 20px);
  opacity:.7;
}
.film::before{ left:-6px; } .film::after{ right:-6px; }
.film figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 920px){
  .bazar-section--wheel .wheel-wrap{ grid-template-columns: 1fr; }
}

/* ===== 5) Pazarlık Barometresi — «дышащий» бар ===== */
.bazar-section--barometer .baro-grid{
  display:grid; gap:1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.baro{
  position:relative; border:1px solid rgba(247,161,174,.22);
  border-radius: 999px; padding:1rem; background: rgba(18,16,20,.55);
}
.b-fill{
  display:block; height:16px; border-radius:999px;
  background: linear-gradient(90deg, rgba(247,161,174,.9), rgba(179,18,47,.9));
  width:62%; animation: bBreath 4s ease-in-out infinite;
}
@keyframes bBreath{ 0%,100%{ width:58% } 50%{ width:84% } }
.b-dot{
  position:absolute; top:calc(50% - 9px); left:62%; width:18px; height:18px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  animation: bDot 4s ease-in-out infinite;
}
@keyframes bDot{ 0%,100%{ left:58% } 50%{ left:84% } }
.legend{ list-style:none; display:grid; gap:.35rem; margin:.6rem 0 0; padding:0; }
.sw{ width:14px; height:14px; display:inline-block; border-radius:50%; }
.sw-low{ background: rgba(247,161,174,.85); } .sw-hi{ background: rgba(179,18,47,.85); }

.baro-side{ display:grid; gap:1rem; }
.baro-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: .8rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.baro-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .bazar-section--barometer .baro-grid{ grid-template-columns: 1fr; }
}

/* ===== 6) Tur Paketleri — details/summary «аккордеон» ===== */
.bazar-section--bundles .bundles{
  display:grid; gap:1rem;
  grid-template-columns: 1fr;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.bundle{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; overflow:hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.bundle > summary{
  list-style:none; cursor:pointer; padding:.8rem 1rem; font-weight:700;
  display:flex; align-items:center; gap:.6rem;
}
.bundle > summary::-webkit-details-marker{ display:none; }
.bundle .tag{
  display:inline-grid; place-items:center; font-weight:700; color:#181016;
  width:20px; height:20px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 8px rgba(247,161,174,.12);
}
.b-content{
  display:grid; gap:1rem; grid-template-columns: 1fr .9fr;
  padding: .6rem .9rem 1rem;
}
.b-steps{ margin:.2rem 0 0; padding-left:1.1rem; }
.b-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.8rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.b-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 860px){
  .bundle .b-content{ grid-template-columns: 1fr; }
}
/* ===== 7) Üçgen Stand ===== */
.bazar-section--triangle .tri-grid{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr 1.1fr; /* A — Copy — B */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.tri-photo{ 
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22); border-radius:.9rem;
  padding:.45rem .5rem .6rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.tri-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4); }
.tri-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
.tri-copy{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.8rem .9rem; box-shadow:0 10px 28px rgba(0,0,0,.3);
  align-self:center; text-align:left;
}
.tri-copy .t{ margin:.05rem 0 .35rem; font-weight:700; }
.tri-copy .bul{ margin:0; padding-left:1.1rem; }
@media (max-width: 980px){
  .bazar-section--triangle .tri-grid{ grid-template-columns: 1fr; }
}

/* ===== 8) Koku Yolu — Aroma İzleri ===== */
.bazar-section--aroma .aroma-grid{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr; /* line+note + 2 photos */
  align-items:center;
  border-radius: var(--radius-2xl);
  padding:1rem; background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18); box-shadow: var(--shadow-soft);
}
.scentline{
  position:relative; height: 140px; border-radius: 12px; overflow:hidden;
  background:
    radial-gradient(40% 60% at 0% 50%, rgba(247,161,174,.16), transparent 70%),
    radial-gradient(40% 60% at 100% 50%, rgba(179,18,47,.16), transparent 70%),
    repeating-linear-gradient(90deg, rgba(247,161,174,.25) 0 12px, transparent 12px 24px);
  animation: scentMove 8s linear infinite;
  border:1px solid rgba(247,161,174,.22);
}
@keyframes scentMove{ from{ background-position:0 0,0 0,0 0;} to{ background-position:0 0,0 0,240px 0;} }
.scentline .spark{
  position:absolute; left:0; top:50%; width:16px; height:16px; border-radius:50%;
  transform: translate(-50%,-50%); 
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  animation: sparkRun 4.2s ease-in-out infinite;
}
@keyframes sparkRun{ 0%{ left:8%; } 50%{ left:92%; } 100%{ left:8%; } }
.aroma-note{
  background: rgba(18,16,20,.52); border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.8rem .9rem; box-shadow:0 10px 28px rgba(0,0,0,.3);
}
.aroma-note .t{ margin:.05rem 0 .3rem; font-weight:700; }
.aroma-note .d{ margin:0; color:#f3e9ef; }
.aroma-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22); border-radius:.9rem;
  padding:.45rem .5rem .6rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.aroma-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4); }
.aroma-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 980px){
  .bazar-section--aroma .aroma-grid{ grid-template-columns: 1fr; }
}

/* ===== 9) Yerel Ustalar — Rozet Duvarı ===== */
.bazar-section--badges .badgewall{
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr 1fr .9fr; /* text + round + text + round */
  align-items:start; border-radius: var(--radius-2xl); padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18); box-shadow: var(--shadow-soft);
}
.badge-card{
  background: rgba(18,16,20,.52); border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.9rem 1rem; box-shadow:0 10px 28px rgba(0,0,0,.3);
}
.badge-card .t{ margin:.05rem 0 .25rem; font-weight:700; }
.badge-card .d{ margin:0 0 .5rem; color:#f3e9ef; }
.badge-card .tags{ display:flex; flex-wrap:wrap; gap:.35rem; margin:0; padding:0; list-style:none; }
.badge-card .tags li{
  font-weight:700; color:#181016; padding:.15rem .4rem; border-radius:.6rem;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
}

.round-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22); border-radius: 1rem;
  padding:.75rem .8rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.round-photo img{
  width:min(100%, 220px); height:auto; display:block; margin-inline:auto;
  border-radius:50%; outline: 8px solid rgba(247,161,174,.12);
  box-shadow: 0 18px 60px rgba(179,18,47,.35);
}
.round-photo figcaption{ margin-top:.4rem; color:#ffe6ea; }
@media (max-width: 1020px){
  .bazar-section--badges .badgewall{ grid-template-columns: 1fr; }
}
/* ===== 10) Pazar Saati — Zaman Şeridi ===== */
.bazar-section--timestrip .timestrip{
  display:grid; gap:1rem;
  grid-template-columns: 1.1fr .9fr .9fr; /* şerit + 2 foto */
  align-items:center;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.ribbon{
  position:relative; height: 140px; border-radius: 12px; overflow:hidden;
  background:
    linear-gradient(90deg, rgba(247,161,174,.18), rgba(179,18,47,.18));
  border:1px solid rgba(247,161,174,.25);
}
.runner{
  position:absolute; left:-20%; top:50%; width:40%; height:3px;
  background: rgba(247,161,174,.9); transform: translateY(-50%);
  animation: runLine 6s linear infinite;
}
@keyframes runLine{ from{ left:-20%; } to{ left: 100%; } }
.tick{
  position:absolute; width:10px; height:10px; border-radius:50%;
  background:#fff; opacity:.9; mix-blend-mode:screen; top:50%;
  transform: translate(-50%,-50%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
}
.t1{ left:15%; } .t2{ left:50%; } .t3{ left:85%; }
.time-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.time-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 980px){ .bazar-section--timestrip .timestrip{ grid-template-columns: 1fr; } }

/* ===== 11) Tat Çifti — Diagonal Pairing ===== */
.bazar-section--pairing .pairing{
  position:relative;
  display:grid; gap:1rem;
  grid-template-columns: 1fr .9fr .9fr .9fr; /* note + 3 foto */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.splitter{
  position:absolute; left:0; right:0; top:0; bottom:0;
  background:
    linear-gradient(135deg, rgba(247,161,174,.16) 0 2px, transparent 2px 100%);
  pointer-events:none;
}
.pair-note{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.85rem 1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.pair-note .t{ margin:.05rem 0 .3rem; font-weight:700; }
.pair-note .bul{ margin:0; padding-left:1.1rem; }
.pair-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.pair-photo:hover{ transform: translateY(-4px) scale(1.02); border-color: rgba(247,161,174,.45); box-shadow:0 18px 60px rgba(179,18,47,.4);}
.pair-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 1100px){ .bazar-section--pairing .pairing{ grid-template-columns: 1fr .9fr .9fr; } }
@media (max-width: 900px){ .bazar-section--pairing .pairing{ grid-template-columns: 1fr; } }

/* ===== 12) Yön Okları — Wayfinding Panel ===== */
.bazar-section--wayfinding .wayfinding{
  display:grid; gap:1rem;
  grid-template-columns: 1.1fr .9fr .9fr; /* oklar + 2 foto */
  align-items:center;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.arrows{
  display:grid; gap:.6rem;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: .9rem; padding:.8rem;
}
.arrow{
  display:block; height: 28px; border-radius: 999px; position:relative;
  background: linear-gradient(90deg, rgba(247,161,174,.9), rgba(179,18,47,.9));
  box-shadow: inset 0 0 12px rgba(0,0,0,.35);
}
.arrow::after{
  content:""; position:absolute; right:-6px; top:50%; width:18px; height:18px;
  border-radius:2px; transform: translateY(-50%) rotate(45deg);
  background: rgba(247,161,174,.9);
}
.a1{ animation: sway 3.6s ease-in-out infinite; }
.a2{ transform-origin: center; animation: sway 4.2s ease-in-out infinite reverse; }
.a2::after{ left:-6px; right:auto; transform: translateY(-50%) rotate(225deg); }
.a3{ height: 28px; }
.a3::after{ right: calc(50% - 9px); top: calc(100% - 9px); transform: rotate(135deg); }
@keyframes sway{
  0%,100%{ transform: translateX(0); } 50%{ transform: translateX(6px); }
}
.wf-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22); border-radius:.9rem;
  padding:.45rem .5rem .6rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.wf-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 980px){ .bazar-section--wayfinding .wayfinding{ grid-template-columns: 1fr; } }
/* ===== 13) Batı Turu — Anlatımlı Güzergâh ===== */
.bazar-section--westtour .westgrid{
  display:grid; gap:1rem;
  grid-template-columns: 1.2fr .8fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.story{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:1rem 1.1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
  position:relative;
}
.story::before{
  content:""; position:absolute; left:.75rem; top:.9rem; bottom:.9rem; width:3px;
  background: linear-gradient(180deg, rgba(247,161,174,.0), rgba(247,161,174,.85), rgba(179,18,47,.0));
  filter: blur(.2px);
}
.story p{ margin:.55rem 0; }
.story .tips{ margin:.7rem 0 0; padding-left:1.1rem; }
.west-side{ display:grid; gap:1rem; }
.west-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.west-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 980px){ .bazar-section--westtour .westgrid{ grid-template-columns: 1fr; } }

/* ===== 14) Hediyelik Seçkisi — Çok Katlı Raf ===== */
.bazar-section--giftshelf .shelfgrid{
  position:relative;
  display:grid; gap:1rem;
  grid-template-columns: 1.1fr .9fr .9fr; /* metin + 2 foto */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem 1rem 1.2rem;
  background:
    linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 2px, transparent 2px 28px);
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.shelfgrid::after{
  /* ince raf çizgileri */
  content:""; position:absolute; left:1rem; right:1rem; bottom:1rem; height:6px;
  background: linear-gradient(90deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  border-radius:4px; opacity:.6;
}
.shelf-text{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:1rem 1.1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.shelf-text h3{ margin:.1rem 0 .4rem; }
.shelf-text h4{ margin:.7rem 0 .4rem; }
.shelf-text p{ margin:.5rem 0; }
.shelf-text ul{ margin:.3rem 0 0; padding-left:1.1rem; }
.shelf-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.shelf-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 1020px){ .bazar-section--giftshelf .shelfgrid{ grid-template-columns: 1fr; } }

/* ===== 15) Adil Alışveriş — Bilgi Şeridi ===== */
.bazar-section--fairtrade .fairband{
  display:grid; gap:1rem;
  grid-template-columns: 1.2fr .8fr .8fr; /* metin + 2 foto */
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.fair-text{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:1rem 1.1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.fair-text p{ margin:.55rem 0; }
.fair-text .rules{ margin:.6rem 0 0; padding-left:1.1rem; }
.fair-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.fair-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 1000px){ .bazar-section--fairtrade .fairband{ grid-template-columns: 1fr; } }

/* ===== 16) Bilet Notları — Hatalar & İpuçları ===== */
.bazar-section--ticketnotes .tn-grid{
  display:grid; gap:1rem;
  grid-template-columns: 1.2fr .8fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding:1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.mistakes{
  counter-reset: num; list-style:none; margin:0; padding:0;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding: .9rem 1.1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.mistakes li{
  position:relative; padding-left: 2.2rem; margin:.6rem 0;
}
.mistakes li::before{
  counter-increment: num; content: counter(num);
  position:absolute; left:.6rem; top:.15rem; width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center; font-weight:700; color:#181016;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 8px rgba(247,161,174,.12);
}
.mistakes b{ display:block; margin-bottom:.2rem; }
.mistakes span{ color:#f3e9ef; }
.tn-side{ display:grid; gap:1rem; }
.tn-photo{
  margin:0; text-align:center; background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius:.9rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.tn-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
@media (max-width: 980px){ .bazar-section--ticketnotes .tn-grid{ grid-template-columns: 1fr; } }
