@charset "UTF-8";
/* Bozbay Düğün Paketi — KAVİ tasarım tokenlarını kullanır, yoksa kendi değerlerine düşer */
.bzd, .bzd-ready, .bzd-sheet {
	--bz-red: var(--gold, #D9060C);
	--bz-red-d: var(--gold-d, #B80509);
	--bz-ink: var(--ink, #111);
	--bz-deep: var(--deep, #0A0A0A);
	--bz-line: var(--line, #E5E5E5);
	--bz-stone: var(--stone, #666);
	--bz-paper: var(--paper, #FAFAFA);
	--bz-wa: var(--wa, #13804A);
	--bz-ease: var(--ease, cubic-bezier(.22, 1, .36, 1));
	--bz-display: var(--f-display, Georgia, serif);
}
.bzd .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bzd [hidden], .bzd-ready [hidden] { display: none !important; }
.bzd-ico { display: inline-flex; width: 20px; height: 20px; flex: none; }
.bzd-ico svg { width: 100%; height: 100%; }
html.bzd-lock { overflow: hidden; }

/* ---------- Giriş + kademeler ---------- */
.bzd-intro { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: clamp(28px, 4vw, 48px); }
.bzd-intro__text { max-width: 640px; margin: 0; color: var(--bz-stone); font-size: clamp(15.5px, 1.4vw, 17.5px); line-height: 1.7; }
.bzd-tiers { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.bzd-tiers li { display: flex; align-items: baseline; gap: 8px; padding: 10px 18px; border: 1px solid var(--bz-line); border-radius: 999px; font-size: 13.5px; color: var(--bz-stone); transition: background .35s var(--bz-ease), color .35s, border-color .35s; }
.bzd-tiers strong { font-family: var(--bz-display); font-size: 20px; font-weight: 400; color: var(--bz-red); line-height: 1; }
.bzd-tiers li.is-on { background: var(--bz-ink); border-color: var(--bz-ink); color: #fff; }
.bzd-tiers li.is-on strong { color: #fff; }

/* ---------- Yerleşim ---------- */
.bzd-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: start; }
@media (min-width: 1100px) {
	.bzd-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; }
	.bzd-sum { position: sticky; top: calc(var(--hd-h, 76px) + var(--kv-adminbar, 0px) + 24px); }
	.bzd-sum__card { max-height: calc(100vh - var(--hd-h, 76px) - var(--kv-adminbar, 0px) - 48px); overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; }
	.bzd-sum__card::-webkit-scrollbar { display: none; }
}

/* ---------- Oda ---------- */
.bzd-slot { padding: 32px 0 36px; border-top: 1px solid var(--bz-line); min-width: 0; }
.bzd-slot:first-child { border-top: 0; padding-top: 0; }
.bzd-slot__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px 20px; margin-bottom: 20px; }
.bzd-slot__num { font-family: var(--bz-display); font-size: clamp(34px, 4vw, 48px); line-height: 1; color: var(--bz-line); transition: color .4s var(--bz-ease); font-variant-numeric: lining-nums; }
.bzd-slot.is-done .bzd-slot__num { color: var(--bz-red); }
.bzd-slot__title h2 { font-family: var(--bz-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; margin: 0 0 4px; color: var(--bz-ink); }
.bzd-slot__title p { margin: 0; font-size: 14px; color: var(--bz-stone); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bzd-slot.is-done .bzd-slot__title p { color: var(--bz-ink); font-weight: 500; }
.bzd-search input { width: 200px; height: 42px; padding: 0 16px 0 40px; border: 1px solid var(--bz-line); border-radius: 999px; font: inherit; font-size: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='1.6'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 14px center / 18px; transition: border-color .2s; }
.bzd-search input:focus { outline: none; border-color: var(--bz-ink); }
.bzd-slot__nav { display: flex; gap: 8px; }
.bzd-round { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--bz-line); background: #fff; display: grid; place-items: center; padding: 0; transition: border-color .2s, background .2s, color .2s; }
.bzd-round svg { width: 18px; height: 18px; }
.bzd-round:hover { background: var(--bz-ink); color: #fff; border-color: var(--bz-ink); }

.bzd-rail { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 4px 2px 26px; margin: 0 -2px -12px; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain; }
.bzd-rail::-webkit-scrollbar { display: none; width: 0; height: 0; }
.bzd-rail.is-drag { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.bzd-rail.is-drag .bzd-opt { pointer-events: none; }
/* Tarayıcı çubuğu yerine ince ilerleme çizgisi */
.bzd-track { position: relative; height: 2px; margin: 6px 0 4px; background: var(--bz-line); border-radius: 2px; overflow: hidden; }
.bzd-track[hidden] { display: none; }
.bzd-track span { position: absolute; left: 0; top: 0; bottom: 0; background: var(--bz-ink); border-radius: inherit; transition: transform .15s linear, width .3s var(--bz-ease); }
.bzd-slot.is-done .bzd-track span { background: var(--bz-red); }
.bzd-noresult, .bzd-empty { margin: 0; padding: 28px; color: var(--bz-stone); font-size: 14.5px; background: var(--bz-paper); border-radius: 14px; flex: 1; }

/* ---------- Ürün kartı ---------- */
.bzd-opt { position: relative; flex: 0 0 clamp(220px, 27%, 290px); scroll-snap-align: start; display: flex; flex-direction: column; border: 1px solid var(--bz-line); border-radius: 16px; overflow: hidden; background: #fff; cursor: pointer; transition: transform .45s var(--bz-ease), box-shadow .45s var(--bz-ease), border-color .3s; }
.bzd-opt:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .35); }
.bzd-opt.is-on { border-color: var(--bz-red); box-shadow: 0 0 0 1px var(--bz-red), 0 18px 40px -24px rgba(217, 6, 12, .55); }
.bzd-opt__input { position: absolute; opacity: 0; pointer-events: none; }
.bzd-opt:has(.bzd-opt__input:focus-visible) { outline: 2px solid var(--bz-red); outline-offset: 3px; }
.bzd-opt__media { position: relative; display: block; aspect-ratio: 5 / 3; background: var(--bz-paper); overflow: hidden; }
.bzd-opt__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--bz-ease); }
.bzd-opt:hover .bzd-opt__media img { transform: scale(1.05); }
.bzd-opt__check { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .92); border: 1px solid rgba(0, 0, 0, .08); color: transparent; transition: background .3s var(--bz-ease), color .3s, transform .4s var(--bz-ease); }
.bzd-opt__check .bzd-ico { width: 18px; height: 18px; }
.bzd-opt.is-on .bzd-opt__check { background: var(--bz-red); border-color: var(--bz-red); color: #fff; transform: scale(1.08); }
.bzd-opt__prem, .bzd-opt__rate { position: absolute; left: 12px; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.bzd-opt__prem { top: 12px; background: var(--bz-ink); color: #fff; }
.bzd-opt__rate { bottom: 12px; background: var(--bz-red); color: #fff; letter-spacing: .02em; text-transform: none; }
.bzd-opt__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.bzd-opt__name { font-weight: 600; font-size: 15px; line-height: 1.35; color: var(--bz-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bzd-opt__price { font-size: 14.5px; color: var(--bz-ink); }
.bzd-ask { color: var(--bz-stone); font-size: 13.5px; }

.bzd-slot__foot { display: flex; justify-content: space-between; gap: 16px; margin-top: 8px; }
.bzd-link { background: none; border: 0; padding: 0; font: inherit; font-size: 13.5px; color: var(--bz-stone); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--bz-line); cursor: pointer; transition: color .2s; }
.bzd-link:hover { color: var(--bz-red); }

/* ---------- Özet ---------- */
.bzd-sum__card { background: var(--bz-deep); color: #fff; border-radius: 20px; padding: clamp(22px, 3vw, 30px); box-shadow: 0 40px 80px -50px rgba(0, 0, 0, .6); }
.bzd-sum__eyebrow { margin: 0 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #9A9A9A; display: flex; align-items: center; gap: 10px; }
.bzd-sum__eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--bz-red); }
.bzd-sum__list { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 10px; }
.bzd-sum__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; background: #161616; transition: background .3s; }
.bzd-sum__item.is-on { background: #1D1D1D; }
.bzd-sum__thumb { width: 48px; height: 48px; border-radius: 9px; background: #262626; overflow: hidden; display: block; position: relative; }
.bzd-sum__thumb::after { content: "+"; position: absolute; inset: 0; display: grid; place-items: center; color: #555; font-size: 20px; }
.bzd-sum__thumb img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 1; }
.bzd-sum__txt { display: flex; flex-direction: column; min-width: 0; }
.bzd-sum__txt small { font-size: 11.5px; color: #8A8A8A; letter-spacing: .04em; }
.bzd-sum__txt span { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #6F6F6F; }
.bzd-sum__item.is-on .bzd-sum__txt span { color: #fff; }
.bzd-sum__price { font-size: 13.5px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bzd-sum__rm { width: 30px; height: 30px; border-radius: 50%; border: 0; background: transparent; color: #8A8A8A; display: grid; place-items: center; padding: 0; transition: background .2s, color .2s; }
.bzd-sum__rm:hover { background: #2B2B2B; color: #fff; }
.bzd-sum__rm .bzd-ico { width: 16px; height: 16px; }

.bzd-progress { margin-bottom: 18px; }
.bzd-progress__bar { height: 4px; border-radius: 4px; background: #262626; overflow: hidden; }
.bzd-progress__bar span { display: block; height: 100%; width: 0; background: var(--bz-red); border-radius: inherit; transition: width .6s var(--bz-ease); }
.bzd-progress p { margin: 10px 0 0; font-size: 13.5px; color: #BDBDBD; line-height: 1.5; }

.bzd-totals { margin: 0 0 18px; padding: 16px 0 0; border-top: 1px solid #262626; display: grid; gap: 8px; }
.bzd-totals div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.bzd-totals dt { font-size: 14px; color: #A5A5A5; }
.bzd-totals dd { margin: 0; font-size: 15px; font-variant-numeric: tabular-nums; }
.bzd-totals__disc.is-on dd, .bzd-totals__disc.is-on dt span { color: #FF5A5F; }
.bzd-totals__grand { padding-top: 10px; }
.bzd-totals__grand dt { color: #fff; font-size: 15px; }
.bzd-totals__grand dd { font-family: var(--bz-display); font-size: clamp(28px, 3vw, 34px); line-height: 1.1; display: inline-block; }
.bzd-sum__note { margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: #1F1A0E; color: #E9D9A8; font-size: 13px; line-height: 1.55; }
.bzd-sum__msg { margin: 12px 0 0; font-size: 13.5px; color: #FF8A8D; min-height: 0; }
.bzd-sum__msg:empty { display: none; }

/* ---------- Butonlar ---------- */
.bzd-btn { --b-bg: var(--bz-ink); --b-fg: #fff; --b-bd: var(--b-bg); position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 22px; border-radius: 999px; border: 1px solid var(--b-bd); background: var(--b-bg); color: var(--b-fg); font: inherit; font-size: 14.5px; font-weight: 600; letter-spacing: .01em; text-decoration: none; cursor: pointer; overflow: hidden; transition: background .3s var(--bz-ease), color .3s, border-color .3s, transform .3s var(--bz-ease), opacity .3s; }
.bzd-btn:active { transform: scale(.98); }
.bzd-btn:disabled { opacity: .38; cursor: not-allowed; transform: none; }
.bzd-btn--primary { --b-bg: var(--bz-red); }
.bzd-btn--primary:not(:disabled):hover { --b-bg: var(--bz-red-d); }
.bzd-btn--wa { --b-bg: var(--bz-wa); }
.bzd-btn--wa:not(:disabled):hover { --b-bg: var(--wa-h, #0F6B3D); }
.bzd-btn--line { --b-bg: transparent; --b-fg: #fff; --b-bd: #3A3A3A; }
.bzd-btn--line:not(:disabled):hover { --b-bd: #fff; }
.bzd-actions { display: grid; gap: 10px; }
.bzd-actions .bzd-btn--primary { width: 100%; min-height: 56px; font-size: 15px; }
.bzd-actions__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bzd-actions__row .bzd-btn { padding-inline: 12px; }
.bzd-btn.is-loading > * { opacity: 0; }
.bzd-btn.is-loading::after { content: ""; position: absolute; width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; animation: bzd-spin .7s linear infinite; }
.bzd-btn.is-added { --b-bg: #0F7A3E; }
@keyframes bzd-spin { to { transform: rotate(360deg); } }

/* ---------- Mobil alt çubuk ---------- */
.bzd-bar { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 85; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 18px; border-radius: 18px; background: var(--bz-deep); color: #fff; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6); animation: bzd-up .45s var(--bz-ease); }
.bzd-bar__info { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.bzd-bar__info small { font-size: 12px; color: #A5A5A5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bzd-bar__info strong { font-size: 18px; font-weight: 600; white-space: nowrap; }
.bzd-bar .bzd-btn { min-height: 46px; padding-inline: 20px; flex: none; }
@media (min-width: 1100px) { .bzd-bar { display: none !important; } }
html.bzd-bar-on .kv-wa-float { transform: translateY(-78px); }
@keyframes bzd-up { from { transform: translateY(120%); opacity: 0; } }

/* ---------- Paylaş penceresi ---------- */
.bzd-sheet { position: fixed; inset: 0; z-index: 120; display: flex; align-items: flex-end; justify-content: center; }
.bzd-sheet[hidden] { display: none; }
.bzd-sheet__scrim { position: absolute; inset: 0; background: rgba(10, 10, 10, .55); backdrop-filter: blur(3px); animation: bzd-fade .3s ease; }
.bzd-sheet__panel { position: relative; width: 100%; max-width: 460px; background: #fff; color: var(--bz-ink); border-radius: 22px 22px 0 0; padding: 30px 22px calc(22px + env(safe-area-inset-bottom, 0px)); animation: bzd-up .45s var(--bz-ease); }
.bzd-sheet__panel h3 { font-family: var(--bz-display); font-size: 26px; margin: 0 0 8px; }
.bzd-sheet__panel > p { margin: 0 0 20px; color: var(--bz-stone); font-size: 14.5px; line-height: 1.6; }
.bzd-sheet__x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--bz-paper); display: grid; place-items: center; padding: 0; }
.bzd-sheet__btns { display: grid; gap: 10px; }
.bzd-sheet .bzd-btn--line { --b-fg: var(--bz-ink); --b-bd: var(--bz-line); }
.bzd-sheet .bzd-btn--line:hover { --b-bd: var(--bz-ink); }
.bzd-sheet__url { width: 100%; margin-top: 14px; height: 40px; padding: 0 12px; border: 1px dashed var(--bz-line); border-radius: 10px; font: inherit; font-size: 12.5px; color: var(--bz-stone); background: var(--bz-paper); }
@media (min-width: 640px) {
	.bzd-sheet { align-items: center; padding: 20px; }
	.bzd-sheet__panel { border-radius: 22px; padding: 34px 30px 28px; }
}
@keyframes bzd-fade { from { opacity: 0; } }

/* ---------- Hazır paketler ---------- */
.bzd-ready { margin-top: clamp(64px, 9vw, 120px); }
.bzd-ready__head { margin-bottom: 28px; }
.bzd-ready__eyebrow { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--bz-stone); display: flex; align-items: center; gap: 12px; }
.bzd-ready__eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--bz-red); }
.bzd-ready__title { font-family: var(--bz-display); font-size: clamp(28px, 3.6vw, 44px); line-height: 1.1; margin: 0; }
.bzd-ready__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.bzd-pk { display: flex; flex-direction: column; border: 1px solid var(--bz-line); border-radius: 18px; overflow: hidden; background: #fff; transition: transform .5s var(--bz-ease), box-shadow .5s var(--bz-ease); }
.bzd-pk:hover { transform: translateY(-4px); box-shadow: 0 28px 60px -34px rgba(0, 0, 0, .4); }
.bzd-pk__media { position: relative; aspect-ratio: 5 / 3; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; background: var(--bz-line); overflow: hidden; }
.bzd-pk__media img { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.bzd-pk__media img:first-child { grid-row: span 2; }
.bzd-pk__media img:only-of-type, .bzd-pk__media.has-cover img { grid-column: 1 / -1; grid-row: 1 / -1; }
.bzd-pk__media img:nth-child(2):last-of-type { grid-row: span 2; }
.bzd-pk__badge { position: absolute; left: 14px; top: 14px; padding: 7px 12px; border-radius: 999px; background: var(--bz-red); color: #fff; font-size: 12.5px; font-weight: 600; }
.bzd-pk__body { display: flex; flex-direction: column; gap: 12px; padding: 22px; flex: 1; }
.bzd-pk__title { font-family: var(--bz-display); font-size: 24px; line-height: 1.2; margin: 0; }
.bzd-pk__text { margin: 0; color: var(--bz-stone); font-size: 14.5px; line-height: 1.6; }
.bzd-pk__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.bzd-pk__items li { display: flex; gap: 10px; align-items: baseline; }
.bzd-pk__items small { flex: none; width: 104px; color: var(--bz-stone); font-size: 12px; }
.bzd-pk__items a { color: var(--bz-ink); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s; }
.bzd-pk__items a:hover { border-color: currentColor; }
.bzd-pk__price { display: flex; align-items: baseline; gap: 10px; margin-top: auto; padding-top: 6px; }
.bzd-pk__price del { color: var(--bz-stone); font-size: 14.5px; }
.bzd-pk__price strong { font-size: 22px; font-weight: 600; }
.bzd-pk__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.bzd-pk__btns .bzd-btn { flex: 1 1 150px; min-height: 48px; }
.bzd-pk .bzd-btn--line { --b-fg: var(--bz-ink); --b-bd: var(--bz-line); }
.bzd-pk .bzd-btn--line:hover { --b-bd: var(--bz-ink); }

/* Mini sepet: paket indirimi satırı */
.bzd-mc-discount { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 10px 0; border-top: 1px dashed var(--line, #E5E5E5); font-size: 14px; color: var(--gold, #D9060C); }

/* ---------- Mobil ---------- */
@media (max-width: 760px) {
	.bzd-slot__head { grid-template-columns: auto minmax(0, 1fr); }
	.bzd-search { grid-column: 1 / -1; }
	.bzd-search input { width: 100%; }
	.bzd-slot__nav { display: none; }
	.bzd-opt { flex-basis: 72%; }
	.bzd-tiers { width: 100%; }
	.bzd-tiers li { flex: 1 1 0; justify-content: center; padding-inline: 10px; flex-direction: column; align-items: center; gap: 4px; border-radius: 14px; text-align: center; }
	.bzd-pk__items small { width: 88px; }
}
@media (prefers-reduced-motion: reduce) {
	.bzd *, .bzd-ready *, .bzd-sheet * { transition: none !important; animation: none !important; }
}
