/* ---- Base wrapper + spacing ---- */
.bdbb-banner{
  width: 100%;
  position: relative;
  z-index: var(--bdbb-z, auto);
  padding: var(--bdbb-pt,0px) var(--bdbb-pr,0px) var(--bdbb-pb,0px) var(--bdbb-pl,0px);
  margin:  var(--bdbb-mt,0px) var(--bdbb-mr,0px) var(--bdbb-mb,0px) var(--bdbb-ml,0px);
}

/* Genişlik: tam genişlik (kenara kadar) */
.bdbb-banner.bdbb-banner-width-full_width{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

/* Genişlik: container (genis) */
.bdbb-banner.bdbb-banner-width-container{
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

/* Genişlik: özel ölçü (px) */
.bdbb-banner.bdbb-banner-width-custom{
  max-width: var(--bdBannerMaxW, 1300px);
  margin-left: auto;
  margin-right: auto;
}

.bdbb-banner *{ box-sizing:border-box; }

.bdbb-banner__grid{
  display: grid;
  gap: var(--bdGap, 16px);
}

.bdbb-banner__card{
  position: relative;
  overflow: hidden;
  border-radius: var(--bdR, 22px);
  min-height: var(--bdMinH, 260px);
  background: #0b0f16;
  color: var(--bdText, #fff);
}

.bdbb-banner.is-shadow .bdbb-banner__card{
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.bdbb-banner__bg{
  position:absolute; inset:0;
  background:#0b0f16;
}
.bdbb-banner__bg img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.bdbb-banner__media{
  position:absolute; inset:0;
}
.bdbb-banner__media iframe,
.bdbb-banner__media video{
  width:100%; height:100%; border:0; display:block; object-fit:cover;
}

.bdbb-banner__overlay{
  position:absolute; inset:0;
  background: var(--bdOvC, rgba(0,0,0,.25));
  opacity: var(--bdOvO, .25);
  pointer-events:none;
}

.bdbb-banner__content{
  position:absolute;
  z-index:2;
  max-width: min(92%, 720px);
  padding: 16px;
  color: var(--bdText, #fff);
  transform: translate(var(--bdOffX,0px), var(--bdOffY,0px));
}

/* content positions */
.bdbb-pos-left{ left: 12px; }
.bdbb-pos-center{ left: 50%; transform: translate(-50%,0) translate(var(--bdOffX,0px), var(--bdOffY,0px)); text-align:center; }
.bdbb-pos-right{ right: 12px; text-align:right; }

.bdbb-v-top{ top: 12px; }
.bdbb-v-middle{ top: 50%; transform: translate(0,-50%) translate(var(--bdOffX,0px), var(--bdOffY,0px)); }
.bdbb-v-bottom{ bottom: 12px; }

.bdbb-pos-center.bdbb-v-middle{
  transform: translate(-50%,-50%) translate(var(--bdOffX,0px), var(--bdOffY,0px));
}
.bdbb-pos-right.bdbb-v-middle{
  transform: translate(0,-50%) translate(var(--bdOffX,0px), var(--bdOffY,0px));
}

.bdbb-banner__badge{
  display:inline-flex;
  background: rgba(0,0,0,.35);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  backdrop-filter: blur(6px);
  margin-bottom: 10px;
}

.bdbb-banner__title{
  font-size: clamp(22px, 2.3vw, 44px);
  line-height: 1.05;
  margin: 0 0 8px 0;
  color: var(--bdText, #fff);
}
.bdbb-banner__title.is-gradient{
  background: var(--bdTitleGrad, none);
  -webkit-background-clip:text; background-clip:text;
  color: transparent;
}

.bdbb-banner__subtitle{
  font-size: 14px;
  line-height: 1.45;
  opacity:.92;
  margin: 0 0 14px 0;
}

.bdbb-banner__btns{
  display:inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
}

.bdbb-banner__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration:none;
  font-weight:800;
  border:0;
  cursor:pointer;
  background: var(--bdBtnGrad, rgba(255,255,255,.92));
  color: #0b0f16;
  transition: transform .15s ease, filter .2s ease;
}
.bdbb-banner__btn:hover{
  background: var(--bdBtnGradH, var(--bdBtnGrad, rgba(255,255,255,.92)));
  transform: translateY(-1px);
  filter: brightness(1.05);
}
.bdbb-banner__btn.is-secondary{
  background: transparent;
  color: var(--bdText, #fff);
  border: 2px solid rgba(255,255,255,.35);
}
.bdbb-banner__btn.is-secondary:hover{
  border-color: rgba(255,255,255,.7);
}

/* hover effects */
.bdbb-banner.hover-lift .bdbb-banner__card{
  transition: transform .18s ease, box-shadow .25s ease;
}
.bdbb-banner.hover-lift .bdbb-banner__card:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 65px rgba(0,0,0,.22);
}
.bdbb-banner.hover-zoom .bdbb-banner__bg,
.bdbb-banner.hover-zoom .bdbb-banner__media{
  transition: transform .6s cubic-bezier(.2,.9,.2,1);
}
.bdbb-banner.hover-zoom .bdbb-banner__card:hover .bdbb-banner__bg,
.bdbb-banner.hover-zoom .bdbb-banner__card:hover .bdbb-banner__media{
  transform: scale(1.04);
}

/* ---- Preset: MOSAIC (3 tile) ---- */
.bdbb-preset-mosaic .bdbb-banner__grid{
  grid-template-columns: 2fr 1fr;

  /* kritik: iki satırın her biri en az --bdMinH kadar olsun */
  grid-template-rows: repeat(2, minmax(var(--bdMinH, 260px), 1fr));
  align-items: stretch;
}

/* sol büyük 2 satır */
.bdbb-preset-mosaic .tile-0{
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: calc(var(--bdMinH, 260px) * 2 + var(--bdGap, 16px));
}

/* sağdaki iki küçük */
.bdbb-preset-mosaic .tile-1{
  grid-column: 2;
  grid-row: 1;
  min-height: var(--bdMinH, 260px);
}
.bdbb-preset-mosaic .tile-2{
  grid-column: 2;
  grid-row: 2;
  min-height: var(--bdMinH, 260px);
}

/* asıl fix: card hücreyi doldursun */
.bdbb-preset-mosaic .tile-0 .bdbb-banner__card,
.bdbb-preset-mosaic .tile-1 .bdbb-banner__card,
.bdbb-preset-mosaic .tile-2 .bdbb-banner__card{
  height: 100%;
  min-height: 0; /* tile min-height zaten var */
}

/* tile-3 zaten kullanılmıyor, kapalı kalsın */
.bdbb-preset-mosaic .tile-3{ display:none; }


/* ---- Preset: SPLIT 2 ---- */
.bdbb-preset-split2 .bdbb-banner__grid{
  grid-template-columns: 1fr 1fr;
}

/* ---- Preset: PROMO CARDS ROW ---- */
.bdbb-preset-promocards .bdbb-banner__grid{
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px){
  .bdbb-preset-promocards .bdbb-banner__grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px){
  .bdbb-preset-promocards .bdbb-banner__grid{ grid-template-columns: 1fr; }
}

/* ---- Preset: WIDE AD (2+1) ---- */
.bdbb-preset-widead .bdbb-banner__grid{
  grid-template-columns: 1.1fr 1.9fr;
}
.bdbb-preset-widead .tile-0{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap: var(--bdGap,16px);
  min-height: var(--bdMinH,260px);
}
.bdbb-preset-widead .tile-0 .bdbb-banner__card{ min-height: auto; }
.bdbb-preset-widead .tile-1{ min-height: var(--bdMinH,260px); }
@media (max-width: 1024px){
  .bdbb-preset-widead .bdbb-banner__grid{ grid-template-columns: 1fr; }
}

/* ---- Preset: ROUND ROW (yuvarlak kategori carousel - görsel örnek) ---- */
/* Slider değil: yan yana daireler, hafif gri zemin, mavi oklar, hover’da “Ürünleri Gör” + teal etiket */
.bdbb-preset-roundrow{
  --bdRound: 120px;
  --bdRoundGap: 20px;
  --bdRoundItemW: calc(var(--bdRound) + var(--bdRoundGap));
  --bdRoundArrowBg: #2563eb;
  --bdRoundHoverLabel: #0d9488;
  min-height: 0;
}
/* Eski markup (blocks.zip): .bdbb-banner__round--row + .round-item / .round-img / .round-label */
.bdbb-preset-roundrow .bdbb-banner__round.bdbb-banner__round--row{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--bdRoundGap, 20px);
  width: 100%;
  padding: 16px 0;
  margin: 0;
  background: transparent;
}
.bdbb-preset-roundrow .bdbb-banner__round--row .round-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  flex: 0 0 auto;
  width: calc(var(--bdRound) + var(--bdRoundGap, 20px));
  max-width: 100%;
}
.bdbb-preset-roundrow .bdbb-banner__round--row .round-img{
  width: var(--bdRound);
  height: var(--bdRound);
  border-radius: calc(var(--bdRoundRadiusPercent, 100) * 0.5%);
  overflow: hidden;
  background: #e2e8f0;
  flex-shrink: 0;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  box-sizing: border-box;
}
.bdbb-preset-roundrow .bdbb-banner__round--row .round-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  vertical-align: middle;
}
.bdbb-preset-roundrow .bdbb-banner__round--row .round-label{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.35;
  color: #475569;
  font-weight: 500;
  max-width: 120px;
  word-break: break-word;
  padding: 0 4px;
}
@media (max-width: 767px){
  .bdbb-preset-roundrow .bdbb-banner__round--row{ --bdRound: 90px; --bdRoundGap: 14px; }
  .bdbb-preset-roundrow .bdbb-banner__round--row .round-label{ font-size: 12px; max-width: 90px; }
}
/* Yeni markup (viewport/track carousel): arka plan yok, ortadan hizali */
.bdbb-preset-roundrow .bdbb-banner__round:not(.bdbb-banner__round--row){
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 16px 52px;
  margin: 0;
  background: transparent;
}
.bdbb-preset-roundrow .bdbb-banner__round:not(.bdbb-banner__round--row)[data-roundrow-arrows="0"]{
  padding-left: 0;
  padding-right: 0;
}
.bdbb-preset-roundrow .bdbb-banner__round-viewport{
  overflow: hidden;
  width: 100%;
  display: flex;
  justify-content: center;
}
.bdbb-preset-roundrow .bdbb-banner__round-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  margin-right: calc(-1 * var(--bdRoundGap));
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
  justify-content: center;
}
.bdbb-preset-roundrow .bdbb-banner__round-item{
  flex: 0 0 auto;
  width: var(--bdRoundItemW);
  padding-right: var(--bdRoundGap);
  box-sizing: content-box;
}
.bdbb-preset-roundrow .bdbb-roundrow__link{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  gap: 0;
}
/* Daire: 0=kare, 100=tam yuvarlak (--bdRoundRadiusPercent) */
.bdbb-preset-roundrow .bdbb-roundrow__img{
  position: relative;
  width: var(--bdRound);
  height: var(--bdRound);
  border-radius: calc(var(--bdRoundRadiusPercent, 100) * 0.5%);
  overflow: hidden;
  background: #e2e8f0;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  border: 3px solid #fff;
  box-sizing: border-box;
}
.bdbb-preset-roundrow .bdbb-roundrow__img-inner{
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
}
.bdbb-preset-roundrow .bdbb-roundrow__img-inner img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
/* Hover: “Ürünleri Gör” + ok (görseldeki gibi) */
.bdbb-preset-roundrow .bdbb-roundrow__hover{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.45);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.25s ease;
  padding: 8px;
  gap: 4px;
}
.bdbb-preset-roundrow .bdbb-roundrow__hover::after{
  content: '\203A';
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.bdbb-preset-roundrow .bdbb-roundrow__link:hover .bdbb-roundrow__hover,
.bdbb-preset-roundrow .bdbb-roundrow__link:focus .bdbb-roundrow__hover{
  opacity: 1;
}
.bdbb-preset-roundrow .bdbb-roundrow__link:hover .bdbb-roundrow__img-inner img{
  transform: scale(1.06);
}
/* Etiket: normal koyu gri, hover’da teal */
.bdbb-preset-roundrow .bdbb-roundrow__label{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.35;
  color: #475569;
  font-weight: 500;
  max-width: 110px;
  word-break: break-word;
  padding: 0 4px;
  transition: color 0.2s ease;
}
.bdbb-preset-roundrow .bdbb-roundrow__link:hover .bdbb-roundrow__label{
  color: var(--bdRoundHoverLabel);
}
/* Mavi yuvarlak oklar, içeriye taşan (görseldeki gibi) */
.bdbb-preset-roundrow .bdbb-banner__round-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: var(--bdRoundArrowBg);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.4);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  z-index: 3;
}
.bdbb-preset-roundrow .bdbb-banner__round-arrow:hover{
  background: #1d4ed8;
  transform: translateY(-50%) scale(1.06);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.5);
}
.bdbb-preset-roundrow .bdbb-banner__round-arrow.prev{ left: 10px; }
.bdbb-preset-roundrow .bdbb-banner__round-arrow.next{ right: 10px; }
.bdbb-preset-roundrow .bdbb-banner__round[data-roundrow-arrows="0"] .bdbb-banner__round-arrow{ display: none; }
@media (max-width: 767px){
  .bdbb-preset-roundrow .bdbb-banner__round{ padding: 16px 44px; }
  .bdbb-preset-roundrow .bdbb-banner__round-arrow{ width: 38px; height: 38px; font-size: 18px; }
  .bdbb-preset-roundrow .bdbb-banner__round-arrow.prev{ left: 6px; }
  .bdbb-preset-roundrow .bdbb-banner__round-arrow.next{ right: 6px; }
  .bdbb-preset-roundrow{ --bdRound: 100px; --bdRoundGap: 16px; }
  .bdbb-preset-roundrow .bdbb-roundrow__label{ font-size: 12px; margin-top: 6px; max-width: 90px; }
}

/* ---- Preset: SLIDER ---- */
.bdbb-preset-slider .bdbb-banner__slider{
  position: relative;
}
.bdbb-preset-slider .bdbb-banner__viewport{
  overflow:hidden;
  border-radius: var(--bdR,22px);
}
.bdbb-preset-slider .bdbb-banner__track{
  display:flex;
  width:100%;
  transition: transform 450ms cubic-bezier(.2,.9,.2,1);
}
.bdbb-preset-slider .bdbb-banner__slide{
  min-width:100%;
}
.bdbb-preset-slider .bdbb-banner__arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index:4;
  width: 42px;
  height: 42px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  background: rgba(0,0,0,.35);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter: blur(6px);
}
.bdbb-preset-slider .bdbb-banner__arrow.prev{ left: 12px; }
.bdbb-preset-slider .bdbb-banner__arrow.next{ right: 12px; }
.bdbb-preset-slider .bdbb-banner__dots{
  position:absolute;
  bottom: 12px;
  left:0; right:0;
  display:flex;
  justify-content:center;
  gap: 8px;
  z-index:4;
}
.bdbb-preset-slider .bdbb-banner__dot{
  width: 10px; height: 10px;
  border-radius:999px;
  background: rgba(255,255,255,.45);
  cursor:pointer;
  border:2px solid rgba(0,0,0,.08);
}
.bdbb-preset-slider .bdbb-banner__dot.is-active{
  background: rgba(255,255,255,.95);
}

/* Visibility helpers */
.bdbb-hide-desktop{ display:none !important; }
@media (max-width: 1024px){ .bdbb-hide-tablet{ display:none !important; } }
@media (max-width: 767px){ .bdbb-hide-mobile{ display:none !important; } }

@media (max-width: 1024px){
  .bdbb-preset-mosaic .bdbb-banner__grid{ grid-template-columns: 1fr; grid-template-rows:auto; }
  .bdbb-preset-mosaic .tile-0,
  .bdbb-preset-mosaic .tile-1,
  .bdbb-preset-mosaic .tile-2{ grid-column: 1; grid-row:auto; }
}

/* Builder: metin/buton çoklu içerik */
.bdbb-banner__text-item{ line-height: 1.35; }
.bdbb-banner__text-item.effect-fadeIn{ animation: bdbb-fadeIn .5s ease forwards; }
.bdbb-banner__text-item.effect-slideInLeft{ animation: bdbb-slideInLeft .5s ease forwards; }
.bdbb-banner__text-item.effect-slideInRight{ animation: bdbb-slideInRight .5s ease forwards; }
.bdbb-banner__text-item.effect-slideInUp{ animation: bdbb-slideInUp .5s ease forwards; }
.bdbb-banner__text-item.effect-slideInDown{ animation: bdbb-slideInDown .5s ease forwards; }
@keyframes bdbb-fadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes bdbb-slideInLeft{ from{ opacity:0; transform:translateX(-20px); } to{ opacity:1; transform:translateX(0); } }
@keyframes bdbb-slideInRight{ from{ opacity:0; transform:translateX(20px); } to{ opacity:1; transform:translateX(0); } }
@keyframes bdbb-slideInUp{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:translateY(0); } }
@keyframes bdbb-slideInDown{ from{ opacity:0; transform:translateY(-20px); } to{ opacity:1; transform:translateY(0); } }
.bdbb-banner__btn-wrap{ display: block; }
.bdbb-banner__btn-wrap .bdbb-banner__btn{ transition: transform .2s ease, box-shadow .2s ease; }
.bdbb-banner__btn-wrap.hover-scale .bdbb-banner__btn:hover{ transform: scale(1.05); }
.bdbb-banner__btn-wrap.hover-glow .bdbb-banner__btn:hover{ box-shadow: 0 4px 20px rgba(0,0,0,.35); transform: translateY(-1px); }
.bdbb-banner__btn-wrap.hover-underline .bdbb-banner__btn{ border-bottom: 2px solid transparent; }
.bdbb-banner__btn-wrap.hover-underline .bdbb-banner__btn:hover{ border-bottom-color: currentColor; }
