/* Midnightiva: tasarım 1024px üzerinden ölçülendi. 1rem = 16px @1024, geniş ekranda orantılı büyür. */
:root {
  --ink: #1a0f10;
  --wine: #3e050f;
  --wine-2: #5a0d1b;
  --night: #140405;
  --top: #240408;
  --foot: #2e0409;
  --paper: #f3eef1;
  --sand: #f4e8ed;
  --card: #fffcfd;
  --cream: #f7f2f5;
  --line: #e7dbe1;
  --muted: #5b4850;
  --gut: clamp(16px, 4.3vw, 64px);
  --sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --logo: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

[hidden] { display: none !important; }
html.no-scroll { overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
html { font-size: clamp(1rem, .55vw + .65rem, 1.3rem); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1rem/1.4 var(--sans); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, figure, blockquote { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid #a85a6c; outline-offset: 2px; }

.wrap { width: 100%; max-width: 84rem; margin-inline: auto; padding-inline: var(--gut); }
.ico { width: 1.25rem; height: 1.25rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
symbol .fill, .fill { fill: currentColor; stroke: none; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 0; z-index: 100; padding: .5rem 1rem; background: #fff; color: var(--wine); }
.skip:focus { left: 0; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.1rem; padding: .35rem 1.1rem; border-radius: .4rem; background: var(--cream); color: var(--ink); font-size: .8rem; font-weight: 600; white-space: nowrap; box-shadow: 0 1px 2px #0002; transition: background .2s, transform .2s; }
.btn:hover { background: #fff; transform: translateY(-1px); }
.btn .ico { width: .95rem; height: .95rem; }
.btn--sm { min-height: 1.75rem; padding-inline: .85rem; font-size: .72rem; }
.btn--dark { background: var(--wine); color: #fff; box-shadow: none; }
.btn--dark:hover { background: var(--wine-2); }
.btn--line { background: transparent; box-shadow: inset 0 0 0 1px var(--wine); color: var(--wine); }
.btn--line:hover { background: var(--wine); color: #fff; }
.btn--lg { width: 100%; min-height: 2.9rem; font-size: .9rem; }

/* ÜST BANT */
.topbar { background: var(--top); color: #f3e6eb; border-bottom: 1px solid #5a0d1b; font-size: .69rem; }
/* Üç eşit hücre: ayırıcılar tam üçte birlerde, yazılar hücre ortasında */
.topbar__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; min-height: 2.15rem; }
.topbar__item { display: flex; align-items: center; justify-content: center; gap: .5rem; white-space: nowrap; }
.topbar__item .ico { width: .95rem; height: .95rem; }
.topbar__item--main { border-inline: 1px solid #ffffff22; }

/* HEADER */
.header { background: var(--night); color: #f6eaef; }
.header__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 4rem; }
.icon-btn { position: relative; display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; transition: color .2s; }
.icon-btn:hover { color: #e8b4c2; }
.icon-btn .ico { width: 1.25rem; height: 1.25rem; stroke-width: 1.5; }
.header__left { justify-self: start; display: flex; align-items: center; min-width: 0; }
.header__menu, .header__find { display: none; }
form.search { display: flex; align-items: center; gap: .5rem; width: 15rem; height: 2.25rem; padding-inline: .8rem; border: 1px solid #ffffff2e; border-radius: 2rem; background: #ffffff0d; transition: border-color .2s, background .2s; }
form.search:focus-within { border-color: #ffffff80; background: #ffffff17; }
form.search .ico { width: 1rem; height: 1rem; opacity: .8; }
form.search input { width: 100%; min-width: 0; border: 0; outline: 0; background: none; color: #fff; font-size: .75rem; }
form.search input::placeholder { color: #e3d2d8; opacity: .8; }
form.search input::-webkit-search-cancel-button { filter: invert(1); }
.header__tools { justify-self: end; display: flex; gap: .35rem; margin-right: -.5rem; }
.tool__t { display: none; }
.logo { display: inline-flex; align-items: center; gap: .6rem; color: #f6eaef; }
.logo__mark { flex: none; width: 2.8rem; height: 2.8rem; }
.logo__word { font: 500 1.6rem/1 var(--logo); letter-spacing: .14em; }
.logo--sm { gap: .5rem; }
.logo--sm .logo__mark { width: 2.4rem; height: 2.4rem; }
.logo--sm .logo__word { font-size: 1.15rem; letter-spacing: .11em; }
.cart__n { position: absolute; top: 0; right: 0; display: grid; place-items: center; min-width: .85rem; height: .85rem; padding-inline: .15rem; border-radius: 1rem; background: #fff; color: var(--wine); font-size: .56rem; font-weight: 700; line-height: 1; }

.nav { border-top: 1px solid #ffffff14; }
.nav__list { display: flex; justify-content: center; gap: clamp(1.25rem, 3.8vw, 3.5rem); padding-block: .5rem; font-size: .69rem; font-weight: 500; letter-spacing: .03em; }
.nav__list a { position: relative; display: block; padding-block: .25rem; }
.nav__list a::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: currentColor; transform: scaleX(0); transition: transform .25s; }
.nav__list a:hover::after { transform: scaleX(1); }

/* ÇEKMECE */
@keyframes from-left { from { transform: translateX(-100%); } }
@keyframes from-right { from { transform: translateX(100%); } }
.drawer[open] { animation: from-left .25s ease-out; }
.drawer { position: fixed; inset: 0 auto 0 0; width: min(86vw, 22rem); max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 1rem 1.25rem; border: 0; background: var(--night); color: #f6eaef; overflow-y: auto; }
.drawer::backdrop { background: #0009; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.drawer__head .logo__word { font-size: 1.4rem; }
.drawer__list a { display: block; padding: .8rem 0; border-bottom: 1px solid #ffffff14; font-size: .95rem; }
.drawer__sep { margin-top: 1.5rem; }

/* YANDAN AÇILAN SEPET */
.cartd { position: fixed; inset: 0 0 0 auto; width: min(92vw, 25rem); max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--paper); color: var(--ink); overflow: hidden; }
.cartd[open] { animation: from-right .25s ease-out; }
.cartd::backdrop { background: #0009; }
.cartd__in { display: flex; flex-direction: column; height: 100%; }
.cartd__head { display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.15rem; background: var(--night); color: #f6eaef; }
.cartd__head h2 { font: 400 1.3rem/1.2 var(--serif); }
.cartd__head h2 > span { font: 400 .8rem var(--sans); opacity: .8; }
.cartd__head .icon-btn { margin-right: -.5rem; }
.cartd__body { flex: 1; min-height: 0; overflow-y: auto; padding: .85rem 1.15rem; }
.cartd__note { display: flex; align-items: center; gap: .55rem; margin-bottom: .8rem; padding: .55rem .8rem; border-radius: .55rem; background: var(--sand); font-size: .75rem; }
.cartd__note .ico { width: 1.5rem; height: 1.1rem; }
.cl { position: relative; display: grid; grid-template-columns: 4.7rem minmax(0, 1fr); gap: .8rem; padding-block: .8rem; border-bottom: 1px solid var(--line); }
.cl:first-child { padding-top: 0; }
.cl__img { overflow: hidden; border-radius: .5rem; }
.cl__img img { width: 100%; height: 100%; min-height: 5.6rem; object-fit: cover; }
.cl__n { display: block; padding-right: 2rem; font-size: .82rem; font-weight: 600; line-height: 1.3; }
.cl__m { margin-top: .15rem; font-size: .72rem; color: var(--muted); }
.cl__m a, .line__meta a { color: var(--wine); text-decoration: underline; }
.cl__f { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; margin-top: .5rem; }
.cl__f b { font-size: .85rem; font-weight: 700; }
.cl__rm { position: absolute; top: .55rem; right: -.4rem; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .4rem; color: var(--muted); }
.cl:first-child .cl__rm { top: -.25rem; }
.cl__rm:hover { background: var(--sand); color: var(--wine); }
.cl__rm .ico { width: 1rem; height: 1rem; }
.cl .stepper { grid-template-columns: 2.1rem 1.8rem 2.1rem; height: 2.2rem; }
.cartd__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 2rem 1.5rem; text-align: center; }
.cartd__empty > .ico { width: 2.6rem; height: 2.6rem; stroke-width: 1.1; color: var(--wine); }
.cartd__empty h3 { font: 400 1.4rem var(--serif); color: var(--wine); }
.cartd__empty p { font-size: .82rem; color: var(--muted); }
.cartd__empty .btn { min-height: 2.75rem; margin-top: .4rem; padding-inline: 1.4rem; }
.cartd__foot { display: grid; gap: .5rem; padding: .85rem 1.15rem calc(1rem + env(safe-area-inset-bottom)); background: var(--card); box-shadow: 0 -2px 12px #3e050f14; }
.cartd__foot dl { display: grid; gap: .3rem; margin: 0 0 .3rem; font-size: .8rem; }
.cartd__foot dl > div { display: flex; justify-content: space-between; gap: 1rem; }
.cartd__foot dd { margin: 0; }
.cartd__free { color: #24582b; font-weight: 500; }
.cartd__total { margin-top: .15rem; font-size: 1rem; font-weight: 700; }

.stepper { display: inline-grid; grid-template-columns: 2.4rem 2.2rem 2.4rem; align-items: center; height: 2.6rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; }
.stepper button { display: grid; place-items: center; height: 100%; color: var(--wine); }
.stepper button:hover { background: var(--sand); }
.stepper .ico { width: .8rem; height: .8rem; stroke-width: 2; }
.stepper input { width: 100%; height: 100%; padding: 0; border: 0; background: none; text-align: center; font: 600 .85rem var(--sans); }

/* HERO */
.hero { position: relative; aspect-ratio: 1024 / 303; min-height: 19rem; max-height: 44rem; width: 100%; overflow: hidden; background: var(--night); color: #fff; }
.slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s, visibility .7s; }
.slide.is-active { opacity: 1; visibility: visible; }
.slide picture { position: absolute; inset: 0; }
.slide__img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; }
.elementor .hero .slide__img { width: 100%; max-width: none; height: 100%; object-fit: cover; }
.slide__txt { position: absolute; top: 50%; left: 12.3%; transform: translateY(-50%); max-width: 80%; }
.slide__eyebrow { font-size: .75rem; letter-spacing: .08em; }
.slide__title { margin: .6rem 0 .9rem; font: italic 400 clamp(2.4rem, 4.35vw, 4.4rem)/1 var(--serif); letter-spacing: -.005em; }
.slide__sub { margin-bottom: 1rem; font-size: .875rem; line-height: 1.32; color: #f5e9ee; }
.hero .btn { min-height: 2.05rem; padding-inline: 1.15rem; font-size: .8rem; }
.hero__arrow { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #d7ccd2b8; color: #28181e; transform: translateY(-50%); transition: background .2s; }
.hero__arrow:hover { background: #efe5ea; }
.hero__arrow .ico { width: .95rem; height: .95rem; }
.hero__arrow--prev { left: 4.4%; }
.hero__arrow--next { right: 4.4%; }
.hero__dots { position: absolute; left: 12.3%; bottom: 6.5%; z-index: 2; display: flex; gap: .15rem; margin-left: -.4rem; }
.hero__dots button { position: relative; width: 1.15rem; height: 1.15rem; }
.hero__dots button::after { content: ""; position: absolute; inset: .3rem; border: 1.5px solid #fff; border-radius: 50%; transition: background .2s; }
.hero__dots .is-active::after { background: #fff; }

/* AVANTAJLAR */
.perks { background: var(--sand); }
.perks__list { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-around; padding-block: .85rem; }
.perks li { display: flex; align-items: center; gap: .8rem; font-size: .69rem; line-height: 1.35; }
.perks .ico { width: 1.75rem; height: 1.75rem; stroke-width: 1.3; }
.perks .ico--truck { width: 2.25rem; }
.perks strong, .perks span { display: block; }
.perks strong { font-weight: 600; }
.perks span { color: #3b2a30; }

/* KATEGORİLER */
.cats { padding-block: 1.05rem 1.55rem; }
.cats__list { display: grid; grid-template-columns: repeat(8, 1fr); gap: .75rem; max-width: 61.5rem; }
.cats a { display: flex; flex-direction: column; align-items: center; gap: .65rem; text-align: center; font-size: .69rem; font-weight: 600; }
.cats img, .cats__all { width: 100%; max-width: 4.9rem; aspect-ratio: 1; border-radius: 50%; object-fit: cover; transition: transform .25s; }
.cats a:hover img, .cats a:hover .cats__all { transform: scale(1.05); }
.cats__all { display: grid; place-items: center; background: var(--wine); color: #fff; }
.cats__all .ico { width: 40%; height: 40%; stroke-width: 1.3; }

/* ÜRÜNLER */
.sec-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .95rem; }
.sec-head h2, .reviews h2, .faq h2 { font-size: 1.22rem; font-weight: 600; letter-spacing: -.01em; }
.more { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 500; }
.more .ico { width: 1rem; height: 1rem; transition: transform .2s; }
.more:hover .ico { transform: translateX(3px); }
.products { padding-inline: calc(var(--gut) + .4rem); }
.products__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; }
.pcard { position: relative; min-width: 0; }
.pcard__img { display: block; aspect-ratio: 177 / 173; overflow: hidden; border-radius: .75rem; background: var(--sand); }
.pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pcard:hover .pcard__img img { transform: scale(1.04); }
.pcard__tag { position: absolute; left: .55rem; top: 0; margin-top: calc((100% * 173 / 177) - 1.95rem); padding: .2rem .6rem; border-radius: 1rem; background: var(--wine); color: #fff; font-size: .69rem; line-height: 1.2; pointer-events: none; }
.pcard__fav { position: absolute; top: .3rem; right: .3rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; }
.pcard__fav .ico { width: 1.2rem; height: 1.2rem; stroke-width: 1.3; filter: drop-shadow(0 0 2px #0003); transition: transform .15s; }
.pcard__fav:hover .ico { transform: scale(1.12); }
.pcard__fav[aria-pressed="true"] .ico { fill: #fff; }
.pcard__foot { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; padding: .65rem .55rem 0; }
.pcard h3 { font-size: .69rem; font-weight: 400; line-height: 1.35; }
.pcard__foot p { margin-top: .1rem; font-size: .75rem; font-weight: 600; }
.pcard__add { display: grid; flex: none; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: .45rem; background: var(--wine); color: #fff; transition: background .2s, transform .15s; }
.pcard__add:hover { background: var(--wine-2); }
.pcard__add:active { transform: scale(.92); }
.pcard__add .ico { width: 1.05rem; height: 1.05rem; stroke-width: 1.5; }

/* BANNERLAR */
.banners { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-top: 1.4rem; }
.banner { position: relative; display: block; aspect-ratio: 461 / 157; min-height: 9rem; width: 100%; overflow: hidden; border-radius: .75rem; }
.banner img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 88% 36%; transition: transform .5s; }
.elementor .banner img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 88% 36%; }
.banner:hover img { transform: scale(1.03); }
.banner--dark { background: #3c0a10; color: #fff; }
.banner--light { background: #ecdee3; color: var(--wine); }
.banner__txt { position: absolute; inset: 0 auto 0 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 9.5%; }
.banner h2 { font: 400 1.44rem/1.08 var(--serif); }
.banner p { margin: .55rem 0 .7rem; font-size: .72rem; line-height: 1.4; }
.banner--light p { color: var(--ink); }

/* KAMPANYA */
.promo { display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: center; gap: clamp(.75rem, 2.2vw, 2rem); min-height: 3.75rem; margin-top: 1rem; padding: .35rem clamp(1rem, 3.8vw, 3rem) .35rem clamp(1rem, 6vw, 3.5rem); border-radius: .75rem; background: var(--wine); color: #fff; }
.promo__title { font-size: 1.12rem; font-weight: 500; letter-spacing: .02em; white-space: nowrap; }
.promo__time { display: flex; gap: clamp(1rem, 2.5vw, 2.1rem); padding-inline: clamp(.75rem, 2.2vw, 2rem); border-inline: 1px solid #ffffff55; }
.promo__time div { min-width: 2.6rem; text-align: center; }
.promo__time b { display: block; font-size: 1.62rem; font-weight: 500; line-height: 1.1; font-variant-numeric: tabular-nums; }
.promo__time span { display: block; margin-top: .15rem; font-size: .56rem; letter-spacing: .02em; }
.promo__text { font-size: .875rem; line-height: 1.3; font-weight: 500; }

/* YORUMLAR + SSS */
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2.5rem; margin-top: .95rem; }
.reviews h2, .faq h2 { margin-bottom: .8rem; padding-left: .4rem; font-size: 1.03rem; }
.reviews__box { display: grid; grid-template-columns: 2.5rem 1fr 2.5rem; align-items: center; gap: .25rem; }
.reviews__arrow { display: grid; place-items: center; height: 2.5rem; }
.reviews__arrow .ico { width: 1.1rem; height: 1.1rem; stroke-width: 1.6; }
.reviews__track { min-height: 6.1rem; border-radius: .75rem; background: var(--card); }
.review { display: none; grid-template-columns: 2.85rem 1fr; align-items: start; gap: 1.2rem; padding: .7rem 1.2rem; }
.review.is-active { display: grid; }
.review img { width: 2.85rem; height: 2.85rem; border-radius: 50%; object-fit: cover; }
.review figcaption { font-size: .75rem; font-weight: 600; }
.stars { margin: .1rem 0 .3rem; color: var(--wine); font-size: .8rem; letter-spacing: .08em; line-height: 1.2; }
.review blockquote { max-width: 12.5rem; font-size: .66rem; line-height: 1.45; }
.faq details { border-bottom: 1px solid var(--line); margin-inline: .4rem; }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 1.5rem; padding: .2rem .5rem .2rem 1rem; font-size: .66rem; font-weight: 500; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ico { width: .8rem; height: .8rem; stroke-width: 1.8; transition: transform .2s; }
.faq details[open] summary .ico { transform: rotate(45deg); }
.faq details p { padding: 0 2rem .65rem 1rem; font-size: .69rem; line-height: 1.5; color: var(--muted); }

/* BÜLTEN */
.news { position: relative; display: grid; grid-template-columns: minmax(auto, 19.6rem) minmax(0, 23.5rem); align-items: center; gap: 1rem; min-height: 4.3rem; margin-top: .55rem; margin-bottom: .15rem; padding: .6rem 1.6rem; border-radius: .75rem; background: var(--card); overflow: hidden; }
.news__silk { position: absolute; right: 0; bottom: 0; width: 26%; height: 100%; object-fit: cover; object-position: right bottom; pointer-events: none; }
.news__head { position: relative; display: flex; align-items: center; gap: 1rem; color: var(--wine); }
.news__head .ico { width: 2.2rem; height: 2.2rem; stroke-width: 1.2; }
.news__head h2 { font-size: .97rem; font-weight: 600; line-height: 1.25; }
.news__form { position: relative; display: grid; grid-template-columns: 1fr auto; }
.news__form input { width: 100%; min-width: 0; height: 2rem; padding: 0 1rem; border: 0; border-radius: .5rem 0 0 .5rem; background: var(--cream); font-size: .66rem; }
.news__form input::placeholder { color: #78676e; }
.news__form .btn { min-height: 2rem; margin-left: -.15rem; padding-inline: 1.3rem; border-radius: .5rem; font-size: .72rem; font-weight: 500; }
.news__msg { grid-column: 1 / -1; font-size: .69rem; color: var(--wine); }
.news__msg:not(:empty) { margin-top: .35rem; }

/* FOOTER */
.footer { margin-top: .15rem; padding-block: 1.75rem 1.25rem; background: var(--foot); color: #f2e5ea; font-size: .69rem; }
.footer__grid { display: grid; grid-template-columns: 1.35fr .85fr 1.05fr 1.25fr 1.4fr; gap: 1.5rem clamp(1.25rem, 2.5vw, 2.5rem); }
/* Tüm başlıklar logo yüksekliğinde: sütunların içeriği aynı hizadan başlar */
.footer h2 { display: flex; align-items: center; min-height: 2.4rem; margin-bottom: .5rem; font-size: .75rem; font-weight: 600; }
.footer__brand .logo { margin-bottom: .5rem; }
.footer__brand p { margin-bottom: .9rem; line-height: 1.7; }
.social { display: flex; gap: 1rem; }
.social a { display: block; transition: color .2s; }
.social a:hover, .footer__col a:hover, .contact:hover { color: #e8b4c2; }
.social .ico { width: 1.25rem; height: 1.25rem; stroke-width: 1.5; }
.footer__col li { line-height: 1.7; }
.footer__col a { display: block; }
.contact { display: flex; align-items: center; gap: .6rem; margin-bottom: .8rem; }
.contact .ico { width: 1.4rem; height: 1.4rem; stroke-width: 1.3; }
.contact b, .contact small { display: block; }
.contact b { font-size: .72rem; font-weight: 500; }
.contact small { font-size: .63rem; color: #ddcbd1; }
.footer__bottom { display: flex; flex-direction: column; align-items: center; gap: .85rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #ffffff1f; }
.ssl { display: flex; align-items: center; gap: .45rem; font-size: .69rem; }
.ssl .ico { width: 1.15rem; height: 1.15rem; stroke-width: 1.4; }
.band-logos { width: min(100%, 28.5rem); height: auto; }

/* Geniş ekran: sağdaki araçlar etiketli, soldaki aramayla aynı ağırlıkta */
@media (min-width: 1024px) {
  .header__tools .icon-btn { display: inline-flex; align-items: center; gap: .4rem; width: auto; padding-inline: .5rem; }
  .tool__t { display: inline; font-size: .72rem; font-weight: 500; }
  .cart__n { top: .05rem; right: auto; left: 1.3rem; }
}

/* ---------- TABLET ---------- */
@media (max-width: 1023px) {
  .slide__img { object-position: 25% 50%; }
  .slide::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #140405b3 20%, #14040500 58%); }
  .slide__txt { z-index: 2; left: 9%; }
  .hero__dots { left: 9%; }
  .banner::before { content: ""; position: absolute; inset: 0; z-index: 1; }
  .banner--dark::before { background: linear-gradient(90deg, #3c0a10e6 25%, #3c0a1000 62%); }
  .banner--light::before { background: linear-gradient(90deg, #ecdee3e6 25%, #ecdee300 62%); }
  .banner__txt { z-index: 2; }
  .products { padding-inline: var(--gut); }
  .products__list { grid-auto-flow: column; grid-auto-columns: minmax(10.5rem, 28%); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .products__list::-webkit-scrollbar { display: none; }
  .pcard { scroll-snap-align: start; }
  .pcard h3, .perks li, .cats a, .faq summary, .review blockquote, .footer, .footer h2, .topbar { font-size: .75rem; }
  .pcard__foot p { font-size: .8rem; }

  .promo { grid-template-columns: 1fr auto; row-gap: .75rem; padding: 1rem 1.5rem; }
  .promo__time { border: 0; padding: 0; }
  .promo__text { grid-column: 1; }
  .promo .btn { grid-column: 2; grid-row: 2; justify-self: end; }

  /* Logo satırı tam genişlik, altında dört eşit hizalı sütun */
  .footer__grid { grid-template-columns: .8fr .9fr 1.1fr 1.3fr; row-gap: 1.25rem; }
  .footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 1rem; padding-bottom: 1.1rem; border-bottom: 1px solid #ffffff1f; }
  .footer__brand .logo { grid-column: 1; margin-bottom: .3rem; }
  .footer__brand p { grid-column: 1; margin: 0; }
  .social { grid-column: 2; grid-row: 1 / 3; }
  .footer h2 { min-height: 0; margin-bottom: .45rem; }
  .contact:last-child { margin-bottom: 0; }

  .news { grid-template-columns: auto minmax(0, 1fr); padding-right: 22%; }
  .news__silk { width: 22%; }
}

/* Masaüstü menü satırı dar ekranda kalkar, çekmeceden açılır */
@media (max-width: 860px) {
  .nav { display: none; }
  .header { position: sticky; top: 0; z-index: 20; }
  .header__row { min-height: 3.5rem; }
  .logo__mark { width: 2.5rem; height: 2.5rem; }
  .logo__word { font-size: 1.4rem; }
  .icon-btn { width: 2.75rem; height: 2.75rem; }
  .header__menu, .header__find { display: inline-grid; }
  .header__menu { margin-left: -.6rem; }
  form.search { position: absolute; left: var(--gut); right: var(--gut); top: 100%; z-index: 21; display: none; width: auto; height: 2.75rem; margin-top: .4rem; background: var(--night); box-shadow: 0 6px 18px #0006; }
  form.search:focus-within { background: var(--night); }
  form.search.is-open { display: flex; }
  form.search input { font-size: 1rem; }
  .cart__n { top: .3rem; right: .3rem; }

  .perks__list { grid-template-columns: repeat(2, 1fr); gap: .9rem 1.25rem; justify-content: stretch; }
  .duo { grid-template-columns: 1fr; }
  .faq summary { min-height: 2.75rem; }
  .faq details p { font-size: .8rem; }
  .reviews__track { min-height: 0; }
  .review blockquote { max-width: none; }
  .hero__dots { bottom: 5%; }
  .hero__dots button { width: 1.4rem; height: 1.4rem; }
  .hero__dots button::after { inset: .4rem; }
}

@media (max-width: 960px) {
  .topbar__in { grid-template-columns: 1fr; min-height: 2.1rem; }
  .topbar__item--side { display: none; }
  .topbar__item--main { border: 0; }
}

@media (max-width: 760px) {

  .banners { grid-template-columns: 1fr; }
  .banner { aspect-ratio: 2 / 1; }
  .banner h2 { font-size: 1.5rem; }
  .banner p { font-size: .8rem; }
  .btn--sm { min-height: 2.25rem; font-size: .8rem; }
  .banner__txt { padding-left: 6%; }

  .promo { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 1.15rem 1rem; }
  .promo__text, .promo .btn { grid-column: auto; grid-row: auto; }
  .promo .btn { min-height: 2.75rem; justify-self: center; }
  .promo__time span { font-size: .63rem; }

  .news { grid-template-columns: 1fr; padding: 1.1rem 1.1rem 3.6rem; }
  .news__silk { width: 62%; height: auto; }
  .news__head h2 { font-size: 1.05rem; }
  .news__form input { height: 2.75rem; font-size: 1rem; } /* 16px: iOS yakınlaştırmasını önler */
  .news__form .btn { min-height: 2.75rem; font-size: .85rem; }

  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
  .footer__col a { padding-block: .28rem; }
  .footer__col li { line-height: 1.2; }
  .contact b { font-size: .85rem; }
  .contact small { font-size: .75rem; }
}

/* ---------- TELEFON ---------- */
@media (max-width: 640px) {
  .hero { aspect-ratio: auto; height: clamp(26rem, 128vw, 40rem); min-height: 0; }
  .slide__img { object-position: 42% 0; }
  .slide::before { display: none; }
  .slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #14040500 34%, #140405d9 68%, #140405 100%); }
  .slide__txt { z-index: 1; top: auto; left: 0; right: 0; bottom: 2.9rem; max-width: none; padding-inline: var(--gut); transform: none; }
  .slide__title { margin-block: .4rem .6rem; font-size: clamp(2.2rem, 10.5vw, 3.1rem); }
  .slide__sub { margin-bottom: .85rem; }
  .hero .btn { min-height: 2.75rem; font-size: .875rem; }
  .hero__arrow { top: 34%; width: 2.5rem; height: 2.5rem; }
  .hero__arrow--prev { left: .6rem; }
  .hero__arrow--next { right: .6rem; }
  .hero__dots { left: var(--gut); bottom: .7rem; }

  .perks li { gap: .55rem; }
  .perks .ico { width: 1.5rem; height: 1.5rem; }
  .perks .ico--truck { width: 1.9rem; }

  .cats { padding-block: 1.25rem 1.5rem; }
  .cats__list { grid-template-columns: repeat(4, 1fr); gap: 1rem .5rem; }
  .cats a { gap: .45rem; }

  .products__list { grid-auto-columns: 44%; gap: .7rem; }
  .pcard__add { width: 2.5rem; height: 2.5rem; }
  .pcard__foot { padding-inline: .15rem; }
  .pcard__fav { width: 2.75rem; height: 2.75rem; top: 0; right: 0; }

  .reviews__box { grid-template-columns: 2.25rem 1fr 2.25rem; gap: 0; }
  .review { gap: .8rem; padding: .85rem; }
  .faq details, .reviews h2, .faq h2 { margin-inline: 0; padding-left: 0; }
  .faq summary { padding-left: 0; padding-right: 0; font-size: .85rem; }
  .faq details p { padding-left: 0; padding-right: 0; }
}

@media (max-width: 480px) {
  .hide-sm { display: none; }
  /* Telefon: Yasal linkleri üstteki iki sütunla aynı hizada */
  .footer__col[aria-label="Yasal"], .footer__help { grid-column: 1 / -1; }
  .footer__col[aria-label="Yasal"] ul { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.25rem, 2.5vw, 2.5rem); }
  .header__row { grid-template-columns: auto 1fr auto; }
  .header .logo { justify-self: center; gap: .4rem; }
  .header .logo__mark { width: 2.2rem; height: 2.2rem; }
  .header .logo__word { font-size: 1.2rem; letter-spacing: .1em; }
  .pcard__add .ico { width: 1.3rem; height: 1.3rem; }
}

@media (max-width: 359px) {
  .header .logo__mark { display: none; }
  .footer__brand { grid-template-columns: 1fr; }
  .social { grid-column: 1; grid-row: auto; margin-top: .7rem; }
  .promo__time { gap: .6rem; }
  .perks__list { grid-template-columns: 1fr; }
}

/* Ekranda küçük telefon + yatay kullanım */
@media (max-height: 480px) and (orientation: landscape) {
  .hero { aspect-ratio: auto; height: 90vh; min-height: 17rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
/* Midnightiva iç sayfalar: arşiv, ürün detay, sepet, ödeme, sipariş başarılı, hesabım. style.css üzerine yüklenir. */
body { display: flex; flex-direction: column; min-height: 100dvh; }
main { flex: 1; }

/* ---------- Ortak parçalar ---------- */
.wrap.page { padding-block: 1.5rem 2.75rem; }
.page__title { font: 400 1.9rem/1.12 var(--serif); color: var(--wine); }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .45rem; margin: 0; padding: 0; list-style: none; font-size: .72rem; color: #6a565e; }
.crumbs li { display: inline-flex; align-items: center; }
.crumbs li::marker { content: none; }
.crumbs a:hover { color: var(--wine); text-decoration: underline; }
.crumbs li + li::before { content: "/"; margin-right: .45rem; opacity: .55; }
.crumbs [aria-current] { color: var(--ink); font-weight: 500; }

.band { position: relative; overflow: hidden; background: var(--wine); color: #fff; }
.band__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 100% 22%; }
.band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #14040599 30%, #14040522 75%); }
.band__in { position: relative; z-index: 1; padding-block: 1.6rem 1.75rem; }
.band .crumbs { color: #e6d8de; }
.band .crumbs a:hover { color: #fff; }
.band .crumbs [aria-current] { color: #fff; }
.band h1 { margin-top: .7rem; font: italic 400 2.3rem/1.08 var(--serif); }
.band p { max-width: 30rem; margin-top: .45rem; font-size: .85rem; color: #f1e4e9; }

.box { border-radius: .75rem; background: var(--card); padding: 1.25rem; }
.box__title { margin-bottom: .9rem; font-size: 1rem; font-weight: 600; letter-spacing: -.005em; }
.box__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.box__head .box__title { margin: 0; }

.link { color: var(--wine); font-size: .78rem; font-weight: 500; text-decoration: underline; text-underline-offset: .18em; }
.link:hover { color: var(--wine-2); }
.btn--dark .ico { stroke: #fff; }

.field { display: flex; flex-direction: column; gap: .3rem; min-width: 0; font-size: .75rem; font-weight: 500; }
.field input, .field select, .field textarea, .select { width: 100%; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; font: 400 .85rem/1.3 var(--sans); color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.field textarea { min-height: 5rem; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .select:focus { outline: 0; border-color: var(--wine); box-shadow: 0 0 0 3px #3e050f1f; }
.field small { font-weight: 400; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.form-grid .full { grid-column: 1 / -1; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }

.check { display: flex; align-items: flex-start; gap: .55rem; font-size: .78rem; line-height: 1.4; cursor: pointer; }
.check input { flex: none; width: 1.05rem; height: 1.05rem; margin: .08rem 0 0; accent-color: var(--wine); }
.check a { color: var(--wine); text-decoration: underline; }


.badge { display: inline-block; padding: .2rem .6rem; border-radius: 1rem; background: var(--wine); color: #fff; font-size: .69rem; line-height: 1.2; }
.badge--ok { background: #e3efe2; color: #24582b; }
.badge--way { background: #f8e8d3; color: #7b4a0f; }
.badge--off { background: #ede2e7; color: #5b4850; }


/* Adım göstergesi */
.steps { display: flex; justify-content: center; align-items: center; gap: .6rem; padding-block: 1.15rem; background: var(--sand); font-size: .78rem; font-weight: 500; }
.steps li { display: inline-flex; align-items: center; gap: .45rem; color: #8b777e; }
.steps li + li::before { content: ""; width: clamp(1rem, 6vw, 4.5rem); height: 1px; margin-right: .15rem; background: #cbbac1; }
.steps b { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border: 1px solid #bdaab2; border-radius: 50%; font-size: .7rem; font-weight: 600; }
.steps .ico { width: .8rem; height: .8rem; stroke-width: 2.4; }
.steps .is-on, .steps .is-done { color: var(--wine); }
.steps .is-on b, .steps .is-done b { border-color: var(--wine); background: var(--wine); color: #fff; }
.steps a:hover { text-decoration: underline; }

/* Sipariş özeti */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem); gap: 1.5rem; align-items: start; }
.sum { position: sticky; top: 1rem; display: grid; gap: .85rem; }
.sum__rows { display: grid; gap: .55rem; font-size: .82rem; }
.sum__rows > div { display: flex; justify-content: space-between; gap: 1rem; }
.sum__rows dt, .sum__rows dd { margin: 0; }
.sum__rows .free { color: #24582b; font-weight: 500; }
.sum__rows .off { color: var(--wine); font-weight: 500; }
.sum__total { margin-top: .25rem; padding-top: .8rem; border-top: 1px solid var(--line); font-size: 1.05rem; font-weight: 700; }
.coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; }
.coupon input { min-width: 0; min-height: 2.5rem; padding: 0 .75rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; font-size: .8rem; }
.coupon .btn { min-height: 2.5rem; }
.coupon p { grid-column: 1 / -1; font-size: .72rem; color: #24582b; }
.coupon p:empty { display: none; }
.coupon p.is-bad { color: #a11f2e; }
.assure { display: grid; gap: .5rem; font-size: .74rem; color: #3b2a30; }
.assure li { display: flex; align-items: center; gap: .55rem; }
.assure .ico { width: 1.1rem; height: 1.1rem; color: var(--wine); }
.mini { display: grid; gap: .7rem; margin-bottom: .9rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.mini li { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) auto; gap: .7rem; align-items: center; font-size: .76rem; }
.mini img { width: 3.4rem; height: 3.8rem; border-radius: .45rem; object-fit: cover; }
.mini b { display: block; font-weight: 600; }
.mini small { color: var(--muted); font-size: .7rem; }
.mini strong { font-weight: 600; white-space: nowrap; }

/* Mobil alt çubuk (ürün, sepet, ödeme) */
.bar { display: none; }

/* ---------- ARŞİV ---------- */
.cats--mini { padding-block: 1.1rem 1.25rem; border-bottom: 1px solid var(--line); }
.wrap.archive { display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); gap: 1.75rem; align-items: start; padding-block: 1.25rem 2.75rem; }
.filters { position: sticky; top: 1rem; display: grid; gap: 0; border-radius: .75rem; background: var(--card); padding: .35rem 1.05rem 1rem; }
.filters__top { display: none; }
.filter { padding-block: .85rem; border-bottom: 1px solid var(--line); }
.filter legend, .filter__t { float: left; width: 100%; margin-bottom: .6rem; padding: 0; font-size: .8rem; font-weight: 600; }
.filter .check { clear: both; margin-bottom: .45rem; }
.filter .check:last-child { margin-bottom: 0; }
.chips { clear: both; display: flex; flex-wrap: wrap; gap: .4rem; }
.chip { position: relative; }
.chip input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.chip span { display: grid; place-items: center; min-width: 2.35rem; min-height: 2.1rem; padding: .2rem .55rem; border: 1px solid #d8c7cd; border-radius: .45rem; font-size: .75rem; font-weight: 500; transition: background .15s, color .15s, border-color .15s; }
.chip input:checked + span { border-color: var(--wine); background: var(--wine); color: #fff; }
.chip input:focus-visible + span { outline: 2px solid #a85a6c; outline-offset: 2px; }
.chip input:disabled + span { opacity: .4; text-decoration: line-through; }
.swatch span { min-width: 0; width: 1.9rem; height: 1.9rem; padding: 0; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 2px #fff; }
.swatch input:checked + span { border: 2px solid var(--wine); background: var(--c); }
.range { clear: both; display: block; width: 100%; accent-color: var(--wine); }
.range-out { display: flex; justify-content: space-between; margin-top: .3rem; font-size: .74rem; color: var(--muted); }
.range-out b { color: var(--ink); font-weight: 600; }
.filters__foot { display: grid; gap: .5rem; margin-top: .9rem; }
.filters__foot .btn { width: 100%; }
.filters__apply { display: none !important; }
.scrim { position: fixed; inset: 0; z-index: 40; background: #0009; }

.tools { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.tools p { font-size: .8rem; color: var(--muted); }
.tools p b { color: var(--ink); font-weight: 600; }
.tools__r { display: flex; align-items: center; gap: .5rem; }
.tools__filter { display: none !important; }
.select { width: auto; min-height: 2.5rem; padding-block: .3rem; font-size: .78rem; }
.grid-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem .9rem; }
.pcard--flip .pcard__img img { transform: scaleX(-1); }
.pcard--flip:hover .pcard__img img { transform: scaleX(-1.04) scaleY(1.04); }
.pcard__old { display: block; color: #8b777e; font-size: .92em; font-weight: 400; text-decoration: line-through; }
.pcard__tag--sale { background: #a11f2e; }
.empty { display: grid; justify-items: center; gap: .6rem; padding: 3rem 1rem; border-radius: .75rem; background: var(--card); text-align: center; }
.empty > .ico { width: 2.6rem; height: 2.6rem; stroke-width: 1.1; color: var(--wine); }
.empty h2 { font: 400 1.4rem/1.2 var(--serif); color: var(--wine); }
.empty p { max-width: 24rem; font-size: .82rem; color: var(--muted); }
.pager { display: flex; justify-content: center; align-items: center; gap: .35rem; margin-top: 2rem; font-size: .8rem; }
.pager a, .pager span { display: grid; place-items: center; min-width: 2.4rem; height: 2.4rem; border-radius: .45rem; }
.pager a:hover { background: var(--sand); }
.pager [aria-current] { background: var(--wine); color: #fff; }
.pager .ico { width: .9rem; height: .9rem; }

/* ---------- ÜRÜN DETAY ---------- */
.pd-crumbs { padding-block: 1rem .9rem; }
.pd { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 2.25rem; align-items: start; }
.gallery { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr); gap: .7rem; position: sticky; top: 1rem; }
.thumbs { display: grid; align-content: start; gap: .55rem; }
.thumbs button { overflow: hidden; aspect-ratio: 1; border-radius: .5rem; opacity: .7; box-shadow: inset 0 0 0 0 var(--wine); transition: opacity .15s; }
.thumbs button:hover { opacity: 1; }
.thumbs button[aria-current="true"] { opacity: 1; outline: 2px solid var(--wine); outline-offset: 1px; }
.thumbs img { width: 100%; height: 100%; object-fit: cover; }
.stage { position: relative; min-width: 0; }
.slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: .9rem; background: var(--sand); }
.slides::-webkit-scrollbar { display: none; }
.slides img { flex: 0 0 100%; width: 100%; aspect-ratio: 1 / 1.04; object-fit: cover; scroll-snap-align: start; }
.stage .pcard__fav { top: .6rem; right: .6rem; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #fff; color: var(--wine); box-shadow: 0 1px 4px #0002; }
.stage .pcard__fav[aria-pressed="true"] .ico { fill: var(--wine); }
.stage .pcard__fav .ico { filter: none; }
.stage .badge { position: absolute; left: .75rem; top: .75rem; }

.info h1 { font: 400 2.1rem/1.1 var(--serif); color: var(--wine); }
.rate { display: flex; align-items: center; gap: .45rem; margin-top: .5rem; font-size: .76rem; color: var(--muted); }
.rate .stars { margin: 0; }
.rate a { text-decoration: underline; }
.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .6rem; margin-top: .85rem; font-size: 1.55rem; font-weight: 700; }
.price small { font-size: .75rem; font-weight: 400; color: var(--muted); }
.lede { margin-top: .75rem; font-size: .85rem; line-height: 1.55; color: #3b2a30; }
.opt { margin-top: 1.1rem; }
.opt__h { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .5rem; font-size: .8rem; font-weight: 600; }
.opt__h span span { font-weight: 400; color: var(--muted); }
.opt .chip span { min-width: 2.9rem; min-height: 2.75rem; font-size: .82rem; }
.opt .swatch span { min-width: 0; width: 2.3rem; min-height: 0; height: 2.3rem; }
.opt__err { margin-top: .45rem; font-size: .76rem; color: #a11f2e; }
.buy { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; margin-top: 1.25rem; }
.buy .stepper { height: 2.9rem; }
.buy .btn { min-height: 2.9rem; font-size: .88rem; }
.buy__fav { display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border: 1px solid #deced4; border-radius: .5rem; color: var(--wine); }
.buy__fav[aria-pressed="true"] .ico { fill: var(--wine); }
.pd-perks { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .9rem; margin-top: 1.2rem; padding: .9rem 1rem; border-radius: .7rem; background: var(--sand); font-size: .72rem; line-height: 1.3; }
.pd-perks li { display: flex; align-items: center; gap: .5rem; }
.pd-perks .ico { width: 1.25rem; height: 1.25rem; stroke-width: 1.4; }
.acc { margin-top: 1rem; }
.acc details { border-bottom: 1px solid var(--line); }
.acc summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.9rem; font-size: .85rem; font-weight: 600; cursor: pointer; list-style: none; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary .ico { width: .85rem; height: .85rem; stroke-width: 1.8; transition: transform .2s; }
.acc details[open] summary .ico { transform: rotate(45deg); }
.acc__b { padding-bottom: .9rem; font-size: .8rem; line-height: 1.55; color: #3b2a30; }
.acc__b li { list-style: disc; margin-left: 1.1rem; }

.block { margin-top: 2.5rem; }
.pd-review { display: grid; grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.score { padding: 1.1rem; border-radius: .75rem; background: var(--sand); text-align: center; }
.score b { display: block; font: 400 2.6rem/1 var(--serif); color: var(--wine); }
.score p { margin-top: .3rem; font-size: .75rem; color: var(--muted); }
.score .btn { width: 100%; margin-top: .75rem; }
.pd-review .review { display: grid; grid-template-columns: 2.85rem 1fr; border-radius: .75rem; background: var(--card); padding: 1rem 1.2rem; }
.pd-review .review blockquote { max-width: none; font-size: .82rem; }
.pd-review .review figcaption { font-size: .82rem; }

.modal { width: min(92vw, 30rem); padding: 1.25rem; border: 0; border-radius: .9rem; background: var(--paper); color: var(--ink); }
.modal::backdrop { background: #0009; }
.modal__h { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.modal__h h2 { font: 400 1.35rem var(--serif); color: var(--wine); }
.table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.table th, .table td { padding: .55rem .5rem; border-bottom: 1px solid var(--line); text-align: left; }
.table th { background: var(--sand); font-weight: 600; }
.modal p { margin-top: .75rem; font-size: .74rem; color: var(--muted); }

/* ---------- SEPET ---------- */
.page__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.page__head span { font-size: .8rem; color: var(--muted); }
.shipnote { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; padding: .7rem 1rem; border-radius: .65rem; background: var(--wine); color: #fff; font-size: .8rem; }
.shipnote .ico { width: 1.65rem; height: 1.25rem; }
.lines { display: grid; gap: .75rem; }
.line { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr) auto; gap: .35rem 1rem; padding: .85rem; border-radius: .75rem; background: var(--card); }
.line__img { grid-row: span 2; overflow: hidden; border-radius: .55rem; }
.line__img img { width: 100%; height: 100%; min-height: 7rem; object-fit: cover; }
.line h2 { font-size: .9rem; font-weight: 600; }
.line__meta { margin-top: .2rem; font-size: .75rem; color: var(--muted); }
.line__unit { margin-top: .25rem; font-size: .76rem; color: var(--muted); }
.line__rm { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin: -.3rem -.3rem 0 0; border-radius: .45rem; color: var(--muted); }
.line__rm:hover { background: var(--sand); color: var(--wine); }
.line__rm .ico { width: 1.05rem; height: 1.05rem; }
.line__foot { grid-column: 2 / -1; align-self: end; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.line__total { font-size: .95rem; font-weight: 700; }
.cont { display: inline-flex; align-items: center; gap: .4rem; margin-top: .9rem; font-size: .8rem; font-weight: 500; }
.cont .ico { width: .85rem; height: .85rem; }
.cont:hover { color: var(--wine); }
.upsell { margin-top: 2.25rem; padding-inline: 0; }

/* ---------- ÖDEME ---------- */
.co { display: grid; gap: 1rem; }
.co__h { display: flex; align-items: center; gap: .6rem; margin-bottom: .95rem; font-size: 1rem; font-weight: 600; }
.co__h i { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--wine); color: #fff; font-size: .75rem; font-style: normal; font-weight: 600; }
.co__h a { margin-left: auto; }
.iyz { display: grid; gap: .8rem; justify-items: start; }
.iyz__logo { width: 10.5rem; height: auto; }
.iyz p { font-size: .82rem; line-height: 1.5; color: #3b2a30; }
.iyz__band { width: min(100%, 24rem); height: auto; }
#iyzipay-checkout-form:empty { display: none; }
.agree { display: grid; gap: .6rem; }
.sum__pay { display: grid; gap: .55rem; }
.sum__note { display: flex; gap: .45rem; font-size: .72rem; line-height: 1.4; color: var(--muted); }
.sum__note .ico { width: 1rem; height: 1rem; color: var(--wine); }

/* ---------- SİPARİŞ BAŞARILI ---------- */
.ok { max-width: 48rem; margin-inline: auto; padding-block: 2.25rem 3rem; }
.ok__hero { text-align: center; }
.ok__mark { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; margin: 0 auto .9rem; border-radius: 50%; background: var(--wine); color: #fff; }
.ok__mark .ico { width: 2rem; height: 2rem; stroke-width: 2; }
.ok h1 { font: italic 400 2.3rem/1.1 var(--serif); color: var(--wine); }
.ok__hero p { max-width: 30rem; margin: .6rem auto 0; font-size: .88rem; line-height: 1.5; color: #3b2a30; }
.ok__no { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: .15rem .5rem; margin-top: 1rem; padding: .55rem 1rem; border-radius: .5rem; background: var(--sand); font-size: .82rem; }
.ok__no b { font-weight: 700; letter-spacing: .02em; }
.track { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 1.5rem; font-size: .72rem; text-align: center; }
.track li { position: relative; display: grid; justify-items: center; gap: .4rem; color: #8b777e; }
.track li::before { content: ""; position: absolute; top: .8rem; left: -50%; width: 100%; height: 2px; background: #deced4; }
.track li:first-child::before { display: none; }
.track i { position: relative; z-index: 1; display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 50%; background: #e4d6dc; font-style: normal; }
.track .ico { width: .85rem; height: .85rem; stroke-width: 2.4; }
.track .is-on { color: var(--wine); font-weight: 600; }
.track .is-on i { background: var(--wine); color: #fff; }
.ok__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: 1.5rem; }
.ok__grid .wide { grid-column: 1 / -1; }
.addr { font-size: .82rem; line-height: 1.55; color: #3b2a30; font-style: normal; }
.addr b { color: var(--ink); font-weight: 600; }
.ok .mini li:last-child { margin: 0; }
.ok__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.5rem; }
.ok__cta .btn { min-height: 2.75rem; padding-inline: 1.5rem; font-size: .85rem; }
.ok__help { margin-top: 1rem; text-align: center; font-size: .76rem; color: var(--muted); }
.ok__help a { color: var(--wine); text-decoration: underline; }

/* ---------- HESABIM ---------- */
.acct { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.side { position: sticky; top: 1rem; border-radius: .75rem; background: var(--wine); color: #f6eaef; padding: .9rem; }
.side__me { display: flex; align-items: center; gap: .65rem; padding: .3rem .3rem .85rem; border-bottom: 1px solid #ffffff22; }
.side__me i { display: grid; flex: none; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #f6eaef; color: var(--wine); font: 400 1.1rem var(--serif); }
.side__me b { display: block; font-size: .88rem; font-weight: 600; }
.side__me small { display: block; overflow-wrap: anywhere; font-size: .7rem; color: #e3d2d8; }
.side__nav { display: grid; gap: .15rem; margin-top: .6rem; }
.side__nav a { display: flex; align-items: center; gap: .65rem; min-height: 2.6rem; padding: .4rem .65rem; border-radius: .5rem; font-size: .82rem; white-space: nowrap; transition: background .15s; }
.side__nav a:hover { background: #ffffff14; }
.side__nav a[aria-current] { background: #f6eaef; color: var(--wine); font-weight: 600; }
.side__nav .ico { width: 1.1rem; height: 1.1rem; stroke-width: 1.5; }
.tab { display: grid; gap: 1rem; }
.tab__t { font: 400 1.75rem/1.12 var(--serif); color: var(--wine); }
.tab__s { margin-top: -.6rem; font-size: .84rem; color: var(--muted); }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.stat { display: flex; align-items: center; gap: .75rem; padding: .95rem; border-radius: .75rem; background: var(--sand); transition: background .15s; }
.stat:hover { background: #f0e3e8; }
.stat .ico { width: 1.55rem; height: 1.55rem; stroke-width: 1.3; color: var(--wine); }
.stat b { display: block; font-size: 1.25rem; font-weight: 600; line-height: 1.1; }
.stat span { font-size: .74rem; color: var(--muted); }
.order { display: grid; gap: .75rem; padding: 1rem; border-radius: .75rem; background: var(--card); }
.order__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .35rem .9rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); font-size: .78rem; }
.order__h b { font-weight: 600; }
.order__h small { color: var(--muted); font-size: .74rem; }
.order__b { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.order__pics { display: flex; gap: .4rem; }
.order__pics img { width: 3.4rem; height: 3.8rem; border-radius: .45rem; object-fit: cover; }
.order__sum { font-size: .75rem; color: var(--muted); }
.order__sum b { display: block; font-size: .95rem; color: var(--ink); font-weight: 700; }
.order__act { display: flex; gap: .45rem; }
.order__act .btn { min-height: 2.4rem; font-size: .76rem; }
.orders { display: grid; gap: .75rem; }
.addrs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.addr-card { display: grid; gap: .45rem; padding: 1rem; border-radius: .75rem; background: var(--card); }
.addr-card h3 { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .9rem; font-weight: 600; }
.addr-card div { display: flex; gap: .85rem; margin-top: .2rem; }
.addr-add { display: grid; place-items: center; align-content: center; gap: .4rem; min-height: 9rem; border: 1.5px dashed #cbbac1; border-radius: .75rem; font-size: .82rem; font-weight: 500; color: var(--wine); transition: background .15s; }
.addr-add:hover { background: var(--sand); }
.addr-add .ico { width: 1.2rem; height: 1.2rem; }
.grid-products--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-msg { font-size: .76rem; color: var(--wine); }
.form-msg:empty { display: none; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: .95rem; }
.form-actions .btn { min-height: 2.6rem; padding-inline: 1.5rem; }
.prefs { display: grid; gap: .65rem; }

/* ---------- KURUMSAL VE YASAL SAYFALAR ---------- */
.legal { display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); gap: 2rem; align-items: start; padding-bottom: 2.75rem; }
.legal__nav { position: sticky; top: 1rem; padding: 1rem; border-radius: .75rem; background: var(--card); font-size: .78rem; }
.legal__nav p { margin: .9rem 0 .35rem; font-weight: 600; }
.legal__nav p:first-child { margin-top: 0; }
.legal__nav a { display: block; padding: .32rem .55rem; border-radius: .4rem; }
.legal__nav a:hover { background: var(--sand); }
.legal__nav a[aria-current] { background: var(--wine); color: #fff; }
.legal__doc { max-width: 46rem; font-size: .85rem; line-height: 1.65; color: #2d2026; }
.legal__doc h1 { margin-bottom: .9rem; }
.legal__doc h2 { margin: 1.5rem 0 .4rem; font-size: 1rem; font-weight: 600; color: var(--wine); }
.legal__doc h3 { margin: .9rem 0 .4rem; font-size: .88rem; font-weight: 600; }
.legal__doc p { margin-bottom: .65rem; }
.legal__doc ul { margin-bottom: .65rem; }
.legal__doc li { margin-left: 1.15rem; list-style: disc; }
.legal__doc a { color: var(--wine); text-decoration: underline; }
.kv { width: 100%; margin-bottom: .75rem; border-collapse: collapse; font-size: .82rem; }
.kv th, .kv td { padding: .5rem .6rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.kv th { width: 34%; font-weight: 600; background: var(--sand); }
.ph { padding: 0 .2rem; border-radius: .2rem; background: #fff0b8; color: inherit; }

/* ---------- TABLET ---------- */
@media (max-width: 1100px) {
  .grid-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  html { scroll-padding-block: 4.5rem 5.5rem; }
  .legal { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .legal__nav { position: static; order: 2; }
  .split { grid-template-columns: minmax(0, 1fr); }
  .sum { position: static; }
  .acct { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; padding: .75rem; }
  .side__nav { display: flex; overflow-x: auto; gap: .3rem; margin-inline: -.75rem; padding-inline: .75rem; scrollbar-width: none; }
  .side__nav::-webkit-scrollbar { display: none; }
  .side__nav a { flex: none; }
  .wrap.archive { grid-template-columns: minmax(0, 1fr); }
  .filters { position: fixed; inset: 0 auto 0 0; z-index: 50; display: block; width: min(88vw, 22rem); height: 100dvh; overflow-y: auto; border-radius: 0; background: var(--paper); padding: 1rem 1.15rem 1.5rem; transform: translateX(-102%); visibility: hidden; transition: transform .25s, visibility .25s; }
  .filters.is-open { transform: none; visibility: visible; }
  .filters__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: .5rem; border-bottom: 1px solid var(--line); font-size: 1rem; font-weight: 600; }
  .filters__apply { display: inline-flex !important; }
  .tools__filter { display: inline-flex !important; }
  .pd { gap: 1.5rem; }
  .gallery { grid-template-columns: minmax(0, 1fr); }
  .stage { order: -1; }
  .thumbs { grid-template-columns: repeat(4, 4.2rem); }
}

/* ---------- TELEFON ---------- */
@media (max-width: 760px) {
  .wrap.page { padding-block: 1.1rem 2rem; }
  .page__title, .tab__t { font-size: 1.6rem; }
  .band h1, .ok h1 { font-size: 1.95rem; }
  .band__in { padding-block: 1.1rem 1.25rem; }
  .band::after { background: #140405a6; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .field input, .field select, .field textarea, .coupon input { font-size: 1rem; } /* iOS yakınlaştırmasını önler */
  .select { font-size: .85rem; }
  .box { padding: 1rem; }

  .cats--mini .cats__list { display: flex; overflow-x: auto; scrollbar-width: none; gap: .8rem; }
  .cats--mini .cats__list::-webkit-scrollbar { display: none; }
  .cats--mini li { flex: 0 0 4.2rem; }

  .grid-products, .grid-products--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem .7rem; }
  .tools { flex-wrap: wrap; }
  .tools p { width: 100%; }
  .tools__r { width: 100%; }
  .tools__r > * { flex: 1; }

  .pd { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .gallery { position: static; }
  .slides img { aspect-ratio: 1 / .92; }
  .info h1 { font-size: 1.8rem; }
  .buy { grid-template-columns: auto minmax(0, 1fr); }
  .buy .btn { display: none; }
  .buy__fav { justify-self: start; }
  .pd-review { grid-template-columns: 1fr; }
  .pd-perks { font-size: .75rem; }

  /* Mobil alt çubuk */
  body.has-bar { padding-bottom: 4.5rem; }
  .bar { position: fixed; inset: auto 0 0; z-index: 30; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .9rem; padding: .6rem var(--gut) calc(.6rem + env(safe-area-inset-bottom)); background: var(--paper); box-shadow: 0 -2px 14px #3e050f26; }
  .bar small { display: block; font-size: .7rem; color: var(--muted); }
  .bar b { display: block; font-size: 1rem; font-weight: 700; white-space: nowrap; }
  .bar .btn { width: 100%; min-height: 2.9rem; font-size: .9rem; }
  .sum .btn--checkout, .sum__pay .btn--checkout { display: none; }

  .line { grid-template-columns: 5.2rem minmax(0, 1fr) auto; column-gap: .75rem; }
  .line__img { grid-row: span 1; }
  .line__img img { min-height: 6rem; }
  .line__foot { grid-column: 1 / -1; padding-top: .35rem; }

  .steps { font-size: .72rem; gap: .35rem; }
  .steps li + li::before { width: 1rem; }

  .track { font-size: .68rem; }
  .ok { padding-block: 1.5rem 2rem; }
  .ok__grid { grid-template-columns: 1fr; }
  .ok__cta .btn { width: 100%; }

  .stats { grid-template-columns: 1fr; }
  .stat { padding: .75rem .9rem; }
  .addrs { grid-template-columns: 1fr; }
  .order__act { width: 100%; }
  .order__act .btn { flex: 1; }
}

@media (max-width: 359px) {
  .line { grid-template-columns: 4.4rem minmax(0, 1fr) auto; }
  .buy { grid-template-columns: 1fr auto; }
  .stepper { grid-template-columns: 2.2rem 1.9rem 2.2rem; }
  .thumbs { grid-template-columns: repeat(4, 1fr); }
  .steps li span { display: none; }
  .steps .is-on span { display: inline; }
}

@media print {
  .header, .topbar, .footer, .steps, .bar, .ok__cta { display: none; }
}

/* Midnightiva: Elementor ve WooCommerce köprüsü */
.elementor-widget-container{padding:0;}
body.midnightiva .elementor-widget{margin-block:0;}
.e-con.mi-flush,.e-con.mi-flush>.e-con-inner,.elementor-location-header .e-con,.elementor-location-footer .e-con,.home .elementor>.e-con,.home .elementor>.e-con>.e-con-inner{max-width:none;padding:0;margin:0;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;}
.e-con.duo{display:grid !important;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem;width:100%;}
/* Midnightiva: Elementor ve WooCommerce koprusu */
.elementor-widget-container { padding: 0; }
body.midnightiva .elementor-widget { margin-block: 0; }
.e-con.mi-flush,
.e-con.mi-flush > .e-con-inner,
.elementor-location-header .e-con,
.elementor-location-footer .e-con,
.home .elementor > .e-con,
.home .elementor > .e-con > .e-con-inner {
  max-width: none;
  padding: 0;
  margin: 0;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}
.e-con.duo {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.5rem;
  width: 100%;
  max-width: 84rem;
  margin-inline: auto;
  padding-inline: var(--gut);
}
@media (max-width: 860px) {
  .e-con.duo { grid-template-columns: 1fr !important; }
}
#yeni, #koleksiyonlar, #kampanya, #sss { scroll-margin-top: 1rem; }
.nav__list .current-menu-item > a::after { transform: scaleX(1); }
.pcard__foot del { display: block; color: #8b777e; font-size: .92em; font-weight: 400; text-decoration: line-through; }
.pcard__foot ins { text-decoration: none; }
.pcard__add.loading { opacity: .55; }
.pcard__add.added { background: #24582b; }
a.added_to_cart { display: none !important; }
.woocommerce-notices-wrapper { width: min(100% - 2 * var(--gut), 84rem); margin: .75rem auto; }
.woocommerce-message, .woocommerce-error, .woocommerce-info { padding: .75rem 1rem; border-radius: .6rem; background: var(--card); list-style: none; }
.woocommerce-error { background: #fdecee; color: #a11f2e; }
.woocommerce-message { background: #e3efe2; color: #24582b; }
.woocommerce-pagination { display: flex; justify-content: center; gap: .35rem; margin: 2rem 0; }
.woocommerce-pagination ul { display: flex; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 2.4rem; height: 2.4rem; border-radius: .45rem; }
.woocommerce-pagination span.current { background: var(--wine); color: #fff; }
.woocommerce form .form-row { margin: 0 0 .85rem; }
.woocommerce form .form-row label { display: block; margin-bottom: .3rem; font-size: .75rem; font-weight: 500; }
.woocommerce form .input-text, .woocommerce form select, .woocommerce form textarea, .select2-container .select2-selection--single { width: 100%; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; }
.woocommerce-checkout .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem); gap: 1.5rem; align-items: start; }
@media (max-width: 960px) { .woocommerce-checkout .woocommerce { grid-template-columns: 1fr; } }
.woocommerce table.shop_table { width: 100%; border: 0; border-collapse: collapse; background: var(--card); border-radius: .75rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .7rem .8rem; border: 0; border-bottom: 1px solid var(--line); text-align: left; }
.woocommerce #place_order, .woocommerce .button, .woocommerce a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .4rem 1.1rem; border: 0; border-radius: .5rem; background: var(--wine); color: #fff; font-weight: 600; cursor: pointer; }
.woocommerce #place_order:hover, .woocommerce .button:hover, .woocommerce a.button:hover { background: var(--wine-2); color: #fff; }
.legal__nav .current-menu-item > a { background: var(--wine); color: #fff; }
.qty-field { display: inline-grid; grid-template-columns: 2.1rem 2.4rem 2.1rem; align-items: center; height: 2.4rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; }
.qty-field input { width: 100%; height: 100%; border: 0; background: transparent; text-align: center; font-weight: 600; }
.side__nav .is-active, .woocommerce-MyAccount-navigation .is-active { background: #f6eaef; color: var(--wine); font-weight: 600; }

.topbar { background: var(--mi-top, var(--top)); color: var(--mi-top-text, #f3e6eb); }
.header { background: var(--mi-header, var(--night)); color: var(--mi-header-text, #f6eaef); }
.perks { background: var(--mi-perks, var(--sand)); }
.promo { background: var(--mi-promo, var(--wine)); }
.footer { background: var(--mi-footer, var(--foot)); }
.news { background: var(--mi-news, var(--card)); }
.elementor-location-header .e-con,
.home .elementor > .e-con { gap: 0 !important; }
.e-con.duo > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem 2.5rem; }
@media (max-width: 860px) { .e-con.duo > .e-con-inner { grid-template-columns: 1fr !important; } }
form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem); gap: 1.5rem; align-items: start; }
form.checkout #order_review, form.checkout #order_review_heading { grid-column: 2; }
form.checkout .col2-set, form.checkout #customer_details { grid-column: 1; }
@media (max-width: 960px) {
  form.checkout.woocommerce-checkout { grid-template-columns: 1fr; }
  form.checkout #order_review, form.checkout #order_review_heading, form.checkout .col2-set, form.checkout #customer_details { grid-column: auto; }
}
.stepper input[type="number"] { width: 100%; border: 0; background: transparent; text-align: center; font-weight: 600; -moz-appearance: textfield; appearance: textfield; }
.stepper input[type="number"]::-webkit-outer-spin-button,
.stepper input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content > h2, .woocommerce-account .woocommerce-MyAccount-content > h3 { font: 400 1.75rem/1.12 var(--serif); color: var(--wine); }

.header .logo__img,
.footer .logo__img,
.drawer__head .logo__img { display: block; width: auto; max-width: none; height: clamp(2.85rem, 6.2vw, 4.35rem); }
.footer .logo--sm .logo__img { height: clamp(2.5rem, 5.4vw, 3.6rem); }
.drawer__head .logo__img { height: 2.7rem; }
.header .header__row { padding-block: .8rem; }

.auth { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 26rem)); gap: 1.25rem; align-items: start; }
.auth-single { max-width: 26rem; }
.tab > .box + .box { margin-top: 0; }
.woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
.box .form-row, .auth .form-row, .woocommerce-address-fields .form-row { display: flex; flex-direction: column; gap: .3rem; margin: 0; }
.box .form-row label, .auth .form-row label, .woocommerce-address-fields .form-row label { font-size: .75rem; font-weight: 500; }
.box .input-text, .auth .input-text, .woocommerce-address-fields .input-text, .woocommerce-address-fields select { width: 100%; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: .25rem; padding: 1rem; border-radius: .75rem; background: var(--card); }
.notes { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; font-size: .82rem; }
.notes time { display: block; color: var(--muted); font-size: .72rem; }
@media (max-width: 760px) {
  .woocommerce-address-fields__field-wrapper, .stats, .addrs { grid-template-columns: 1fr; }
}

.co { display: grid; gap: 1rem; }
.co > .box { margin: 0; }
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields > h3 { margin: 0 0 .85rem; font-family: "Playfair Display", serif; font-size: 1.2rem; font-weight: 500; color: var(--wine); }
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-additional-fields__field-wrapper .form-row-wide,
.woocommerce-account-fields { grid-column: 1 / -1; }
.checkout .form-row { display: flex; flex-direction: column; gap: .3rem; margin: 0; }
.checkout .form-row label { font-size: .75rem; font-weight: 500; }
.checkout .input-text, .checkout select, .checkout textarea { width: 100%; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid #deced4; border-radius: .5rem; background: #fffcfd; font: inherit; }
.checkout textarea { min-height: 5.5rem; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: .35rem 0; border: 0; text-align: left; vertical-align: top; }
.woocommerce-checkout-review-order-table .product-total, .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
#payment .place-order { margin: .9rem 0 0; padding: 0; }
#place_order { width: 100%; min-height: 3rem; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 600; cursor: pointer; }
@media (max-width: 760px) {
  .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-info { margin: 0 0 1rem; padding: .8rem 1rem; border: 0; border-radius: .75rem; background: #fff; color: var(--ink); }
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-info::before { display: none; }
.checkout .woocommerce-form-coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; margin: 0 0 1rem; }

.auth { width: min(100%, 52.5rem); margin-inline: auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 1.15rem; }
.auth > .box { flex: 1 1 18rem; max-width: 25.5rem; display: flex; flex-direction: column; gap: .8rem; padding: 1.55rem 1.4rem 1.35rem; }
.auth .tab__t { margin: 0; }
.auth .tab__s { margin: -.2rem 0 .15rem; }
.auth .form-actions { margin-top: auto; }
.auth-single { width: min(100%, 26rem); margin-inline: auto; }

.auth .woocommerce-privacy-policy-text { margin: 0; font-size: .72rem; line-height: 1.45; color: var(--muted); }
.auth .woocommerce-privacy-policy-text a { color: var(--wine); }

.acct .empty { justify-items: start; text-align: left; width: min(100%, 28rem); padding: 1.25rem 1.3rem; gap: .35rem; }
.acct .empty .btn { margin-top: .4rem; }
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error { display: flex; align-items: center; gap: .85rem; margin: 0; padding: .65rem .85rem; font-size: .82rem; line-height: 1.4; }
.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-error .button { order: 2; float: none; margin: 0 0 0 auto; min-height: 2.15rem; padding: .25rem .8rem; font-size: .75rem; }

.edit-account { display: grid; gap: 1.15rem; }
.edit-account > .box { margin: 0; }

.woocommerce-customer-details { margin: 0; padding: 0; background: transparent; }
.woocommerce-customer-details .addrs { align-items: stretch; }
.woocommerce-customer-details address { margin: 0; padding: 0; border: 0; font-style: normal; font-size: .84rem; line-height: 1.55; }
.woocommerce-customer-details address p,
.woocommerce-customer-details .addr-meta { margin: .4rem 0 0; color: var(--muted); font-size: .78rem; }

.woocommerce .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; border-radius: 0; font-style: normal; }

.wrap.page .woocommerce-notices-wrapper { width: auto; max-width: none; margin: 0 0 .85rem; }
.woocommerce ul.woocommerce-error,
.woocommerce ul.woocommerce-message,
.woocommerce ul.woocommerce-info { display: flex; align-items: center; gap: .65rem; margin: 0; padding: .72rem .95rem; border: 0; border-radius: .75rem; box-shadow: none; font-size: .84rem; line-height: 1.45; list-style: none; }
.woocommerce ul.woocommerce-error { background: #fdecee; color: #a11f2e; }
.woocommerce ul.woocommerce-message { background: #e3efe2; color: #24582b; }
.woocommerce ul.woocommerce-info { background: var(--card); color: var(--ink); }
.woocommerce ul.woocommerce-error::before,
.woocommerce ul.woocommerce-message::before,
.woocommerce ul.woocommerce-info::before { position: static; top: auto; left: auto; flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; margin: 0; border-radius: 999px; font-family: inherit; font-size: .72rem; font-weight: 700; line-height: 1.15rem; text-align: center; }
.woocommerce ul.woocommerce-error::before { content: "!"; background: #a11f2e; color: #fff; }
.woocommerce ul.woocommerce-message::before { content: "\2713"; background: #24582b; color: #fff; }
.woocommerce ul.woocommerce-info::before { content: none; display: none; }
.woocommerce ul.woocommerce-error li,
.woocommerce ul.woocommerce-message li,
.woocommerce ul.woocommerce-info li { margin: 0; padding: 0; }

.woocommerce-checkout .woocommerce { display: block; }
.steps { margin: 0; padding-inline: var(--gut); list-style: none; }

.field,
.checkout .form-row,
.box .form-row,
.auth .form-row,
.woocommerce-address-fields .form-row { gap: .42rem; }
.field,
.woocommerce form .form-row label,
.checkout .form-row label,
.box .form-row label,
.auth .form-row label,
.woocommerce-address-fields .form-row label { color: var(--muted); font-size: .74rem; font-weight: 550; letter-spacing: .01em; }
.woocommerce form .form-row label .required,
.checkout .form-row label .required { color: var(--wine-2); font-weight: 600; }
.woocommerce form .form-row label .optional { color: #9a8790; font-weight: 450; }
.field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.field select,
.field textarea,
.woocommerce form .input-text:not(.qty),
.woocommerce form select,
.woocommerce form textarea,
.checkout .input-text,
.checkout select,
.checkout textarea,
.box .input-text,
.auth .input-text,
.woocommerce-address-fields .input-text,
.woocommerce-address-fields select,
.coupon input,
.select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 3.05rem;
  padding: .72rem 1rem;
  border: 1px solid transparent;
  border-radius: .9rem;
  background-color: #f4eaf0;
  color: var(--ink);
  font: 400 .95rem/1.4 var(--sans);
  box-shadow: none;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.field select,
.woocommerce form select,
.checkout select,
.woocommerce-address-fields select {
  appearance: none;
  padding-right: 2.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235b4850' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: .7rem;
}
.field textarea,
.woocommerce form textarea,
.checkout textarea { min-height: 6.5rem; padding-top: .85rem; resize: vertical; }
.field input::placeholder,
.field textarea::placeholder,
.woocommerce form .input-text::placeholder,
.checkout .input-text::placeholder,
.checkout textarea::placeholder,
.coupon input::placeholder { color: #a08f97; }
.field input:not([type="checkbox"]):not([type="radio"]):hover,
.field select:hover,
.field textarea:hover,
.woocommerce form .input-text:not(.qty):hover,
.woocommerce form select:hover,
.woocommerce form textarea:hover,
.checkout .input-text:hover,
.checkout select:hover,
.checkout textarea:hover,
.box .input-text:hover,
.auth .input-text:hover,
.coupon input:hover,
.select2-container--default .select2-selection--single:hover { background-color: #f8f1f5; }
.field input:not([type="checkbox"]):not([type="radio"]):focus,
.field select:focus,
.field textarea:focus,
.woocommerce form .input-text:not(.qty):focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus,
.checkout .input-text:focus,
.checkout select:focus,
.checkout textarea:focus,
.box .input-text:focus,
.auth .input-text:focus,
.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields select:focus,
.coupon input:focus,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
  outline: 0;
  border-color: var(--wine);
  background-color: #fff;
  box-shadow: 0 0 0 4px #3e050f14;
}
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: #a11f2e; background-color: #fff; box-shadow: 0 0 0 4px #a11f2e14; }
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 1.8rem 0 0; line-height: 1.4; color: var(--ink); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: .85rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #5b4850 transparent transparent transparent; }
.select2-dropdown { border: 0; border-radius: .85rem; overflow: hidden; box-shadow: 0 16px 40px #1a0f1018; }
.select2-results__option { padding: .65rem .9rem; font-size: .92rem; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--wine); }
.coupon .btn { min-height: 3.05rem; border-radius: .9rem; }
.stepper input,
.qty-field input,
.stepper input[type="number"] { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
input.input-text:-webkit-autofill,
.field input:-webkit-autofill,
.auth .input-text:-webkit-autofill { -webkit-text-fill-color: var(--ink); transition: background-color 9999s ease-out; -webkit-box-shadow: 0 0 0 1000px #f4eaf0 inset; }
input.input-text:focus:-webkit-autofill,
.field input:focus:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #fff inset; }

.co__h { font-family: var(--sans); letter-spacing: 0; }
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields > h3,
#ship-to-different-address,
#ship-to-different-address label { font-family: var(--sans); }
.choices { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-bottom: .85rem; }
.choice { display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: .9rem 1rem; border: 1px solid #e7dbe1; border-radius: .9rem; background: #fff; cursor: pointer; }
.choice--check { margin-top: .85rem; }
.choice input { width: 1.05rem; height: 1.05rem; min-height: 0; margin: .2rem 0 0; padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; accent-color: var(--wine); flex: none; }
.choice span { display: grid; gap: .12rem; }
.choice b { font-size: .92rem; font-weight: 600; color: var(--ink); }
.choice small { font-size: .75rem; font-weight: 400; color: var(--muted); }
.choice:has(input:checked) { border-color: var(--wine); box-shadow: 0 0 0 1px var(--wine); }
.inv-co { margin-bottom: .15rem; }
.bill-note { margin: .85rem 0 .7rem; color: var(--muted); font-size: .8rem; }
.is-hidden { display: none; }
@media (max-width: 760px) { .choices { grid-template-columns: 1fr; } }

.woocommerce-checkout form.checkout select.country_select,
.woocommerce-checkout form.checkout select.state_select { min-height: 3.05rem; padding: .72rem 2.4rem .72rem 1rem; border: 1px solid transparent; border-radius: .9rem; background-color: #f4eaf0; font: 400 .95rem/1.4 var(--sans); }

#yorumlar .review-col { display: grid; gap: .85rem; min-width: 0; }
#yorumlar .commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
#yorumlar li.review,
#yorumlar li.comment { display: block; margin: 0; padding: 0; background: transparent; border: 0; }
#yorumlar .comment_container { display: grid; grid-template-columns: 2.85rem minmax(0, 1fr); gap: .85rem; align-items: start; margin: 0; padding: 1rem 1.15rem; border: 0; border-radius: .9rem; background: var(--card); }
#yorumlar .comment_container img { width: 2.85rem; height: 2.85rem; margin: 0; border-radius: 50%; object-fit: cover; }
#yorumlar .comment-text { margin: 0; padding: 0; border: 0; }
#yorumlar .meta { margin: 0 0 .15rem; font-size: .84rem; line-height: 1.35; }
#yorumlar .woocommerce-review__author { font-weight: 600; color: var(--ink); }
#yorumlar .woocommerce-review__verified { margin-left: .35rem; color: var(--muted); font-size: .72rem; font-style: normal; font-weight: 500; }
#yorumlar .woocommerce-review__dash { display: none; }
#yorumlar .woocommerce-review__published-date { display: block; margin-top: .1rem; color: var(--muted); font-size: .72rem; }
#yorumlar .description { margin-top: .35rem; color: var(--ink); font-size: .9rem; line-height: 1.55; }
#yorumlar .description p { margin: 0; }
#yorumlar .stars { margin: .15rem 0 .2rem; letter-spacing: .12em; font-size: .85rem; }
#yorumlar .score { border-radius: .9rem; padding: 1.25rem 1.1rem 1.15rem; }
#yorumlar .score b { font-weight: 500; }
#yorumlar .review-form { display: grid; gap: .85rem; margin: 0; padding: 1.15rem 1.2rem 1.25rem; border-radius: .9rem; background: var(--card); }
#yorumlar .comment-reply-title { margin: 0; font-family: var(--sans); font-size: 1.02rem; font-weight: 600; letter-spacing: 0; color: var(--ink); }
#yorumlar .review-form label,
#yorumlar .rate-pick legend { color: var(--muted); font-size: .74rem; font-weight: 550; letter-spacing: .01em; }
#yorumlar .review-form .required { color: var(--wine-2); }
#yorumlar .review-form input[type="text"],
#yorumlar .review-form input[type="email"],
#yorumlar .review-form textarea { width: 100%; min-height: 3.05rem; margin: .35rem 0 0; padding: .72rem 1rem; border: 1px solid transparent; border-radius: .9rem; background: #f4eaf0; color: var(--ink); font: 400 .95rem/1.45 var(--sans); box-shadow: none; }
#yorumlar .review-form textarea { min-height: 8rem; resize: vertical; }
#yorumlar .review-form textarea::placeholder { color: #a08f97; }
#yorumlar .review-form input:hover,
#yorumlar .review-form textarea:hover { background: #f8f1f5; }
#yorumlar .review-form input:focus,
#yorumlar .review-form textarea:focus { outline: 0; border-color: var(--wine); background: #fff; box-shadow: 0 0 0 4px #3e050f14; }
#yorumlar .rate-pick { margin: 0; padding: 0; border: 0; }
#yorumlar .rate-pick legend { margin-bottom: .35rem; }
#yorumlar .rate-pick__stars { position: relative; display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: .15rem; }
#yorumlar .rate-pick input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
#yorumlar .rate-pick label { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; margin: 0; color: #e4d0d8; font-size: 1.35rem; line-height: 1; cursor: pointer; }
#yorumlar .rate-pick label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#yorumlar .rate-pick label::before { content: "★"; }
#yorumlar .rate-pick input:checked ~ label,
#yorumlar .rate-pick label:hover,
#yorumlar .rate-pick label:hover ~ label { color: var(--wine); }
#yorumlar .rate-pick input:focus-visible + label { border-radius: .35rem; outline: 2px solid var(--wine); outline-offset: 1px; }
#yorumlar .review-form .form-submit,
#yorumlar .review-form .btn { justify-self: start; }
#yorumlar .review-form .btn { min-height: 3.05rem; padding-inline: 1.5rem; border: 0; border-radius: .9rem; font-size: .9rem; cursor: pointer; }
#yorumlar .must-log-in,
#yorumlar .review-note { margin: 0; padding: 1rem 1.15rem; border-radius: .9rem; background: var(--card); color: var(--muted); font-size: .88rem; }
#yorumlar .must-log-in a { color: var(--wine); font-weight: 600; }
#yorumlar .woocommerce-pagination { margin: 0; }
#yorumlar .woocommerce-pagination ul { display: flex; gap: .4rem; margin: 0; padding: 0; list-style: none; }
#yorumlar .woocommerce-pagination a,
#yorumlar .woocommerce-pagination span { display: grid; place-items: center; min-width: 2rem; height: 2rem; border-radius: .55rem; background: var(--card); font-size: .8rem; }

#yorumlar .pd-review.is-empty { align-items: stretch; }
#yorumlar .pd-review.is-empty .score { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; }
.woocommerce #yorumlar #review_form #respond { display: grid; gap: .9rem; margin: 0; width: auto; padding: 1.2rem 1.25rem 1.3rem; border: 0; border-radius: .9rem; background: var(--card); position: static; }
.woocommerce #yorumlar #review_form #respond::before,
.woocommerce #yorumlar #review_form #respond::after { content: none; display: none; }
#yorumlar .review-form { padding: 0; background: transparent; border-radius: 0; }
.woocommerce #yorumlar #review_form #respond p { margin: 0; }
#yorumlar .review-form textarea { min-height: 6.5rem; }

.woocommerce .products ul.products__list::before,
.woocommerce .products ul.products__list::after { content: none; display: none; }
.pd-more .products__list { display: grid; grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-columns: auto; margin-inline: 0; padding-inline: 0; overflow: visible; scroll-snap-type: none; }
@media (max-width: 760px) {
  .pd-more .products__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.home .elementor > .e-con.duo {
  box-sizing: border-box;
  width: min(100%, 84rem) !important;
  max-width: 84rem !important;
  margin-inline: auto !important;
  padding-inline: var(--gut) !important;
  gap: 1.5rem 2.5rem !important;
}


.home .promo { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 0; margin-top: 24px; padding: 16px 24px; border-radius: 12px; }
.home .promo__title { margin: 0; font-size: 16px; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.home .promo__time { display: flex; align-items: center; justify-content: center; gap: 16px; height: 40px; margin: 0; padding: 0 24px; border: 0; border-inline: 1px solid rgba(255,255,255,.4); }
.home .promo__time div { min-width: 48px; }
.home .promo__time b { font-size: 22px; line-height: 1; }
.home .promo__time span { margin-top: 4px; font-size: 10px; letter-spacing: .08em; }
.home .promo__text { margin: 0; font-size: 15px; line-height: 1.35; }
.home .promo .btn { flex: none; }
.home .e-con.duo { align-items: start; margin-top: 24px; }
.home .e-con.duo > .elementor-widget,
.home .e-con.duo .elementor-widget-container,
.home .reviews,
.home .faq { display: block; height: auto; min-width: 0; }
.home .reviews h2,
.home .faq h2 { margin: 0 0 16px; padding: 0; font-size: 17px; font-weight: 600; letter-spacing: -.01em; line-height: 24px; }
.home .reviews__box { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 8px; height: auto; }
.home .reviews__arrow { width: 32px; height: 32px; padding: 0; }
.home .reviews__track { display: block; height: auto; min-height: 0; border-radius: 12px; }
.home .reviews .review.is-active { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 16px; width: 100%; margin: 0; padding: 16px; }
.home .reviews .review img { width: 48px; height: 48px; }
.home .review__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.home .review__meta { display: flex; flex-direction: column; gap: 4px; }
.home .reviews .review figcaption { font-size: 15px; line-height: 1.2; }
.home .reviews .stars { margin: 0; font-size: 14px; letter-spacing: .08em; }
.home .reviews .review blockquote { max-width: none; margin: 0; font-size: 14px; line-height: 1.5; }
.home .faq__list { background: var(--card); border-radius: 12px; padding: 4px 16px; }
.home .faq details { margin: 0; border-bottom: 1px solid var(--line); }
.home .faq details:last-child { border-bottom: 0; }
.home .faq summary { min-height: 48px; padding: 0; font-size: 15px; font-weight: 500; }
.home .faq summary .ico { width: 16px; height: 16px; margin-left: auto; flex: none; }
.home .faq details p { margin: 0; padding: 0 24px 12px 0; font-size: 14px; line-height: 1.5; }
.home .news { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(240px, 420px) minmax(128px, 200px); align-items: center; gap: 24px; min-height: 0; margin-top: 24px; margin-bottom: 24px; padding: 16px 0 16px 24px; border-radius: 12px; overflow: hidden; }
.home .news__head { gap: 16px; }
.home .news__head .ico { width: 32px; height: 32px; }
.home .news__head h2 { margin: 0; font-size: 16px; line-height: 1.3; }
.home .news__form { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.home .news__join { display: flex; align-items: stretch; }
.home .news__join input[type="email"] { flex: 1; width: auto; height: 48px; min-height: 48px; margin: 0; padding: 0 16px; border: 0; border-radius: 8px 0 0 8px; background: var(--cream); font-size: 14px; }
.home .news__join .btn { height: 48px; min-height: 48px; margin: 0; padding-inline: 20px; border-radius: 0 8px 8px 0; font-size: 14px; }
.home .news__silkwrap { height: 88px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%); mask-image: linear-gradient(90deg, transparent, #000 22%); }
.elementor .home .news__silk,
.home .news__silk { position: relative; right: auto; bottom: auto; display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 72% center; }
@media (max-width: 900px) {
  .home .promo { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; row-gap: 12px; column-gap: 16px; }
  .home .promo__time,
  .home .promo .btn { justify-self: end; }
}
@media (max-width: 860px) {
  .home .reviews__box { grid-template-columns: 32px minmax(0, 1fr) 32px; }
}
@media (max-width: 760px) {
  .home .promo { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 16px; text-align: center; }
  .home .promo__title { white-space: normal; }
  .home .promo__time { height: auto; width: 100%; justify-content: center; padding: 12px 0; border-inline: 0; border-block: 1px solid rgba(255,255,255,.4); }
  .home .promo .btn { margin: 0; justify-content: center; }
  .home .news { position: relative; grid-template-columns: 1fr; padding: 16px 16px 0; gap: 12px; overflow: hidden; }
  .home .news__silkwrap { width: calc(100% + 32px); height: 116px; margin: 0 -16px; -webkit-mask-image: linear-gradient(180deg, transparent, #000 36%); mask-image: linear-gradient(180deg, transparent, #000 36%); }
  .home .news__silk { width: 100%; height: 100%; object-fit: cover; object-position: 100% 68%; transform: scale(2.25); transform-origin: 100% 62%; }
}

@media (min-width: 1024px) {
  .slide::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(20,4,5,.78) 0%, rgba(20,4,5,.42) 28%, rgba(20,4,5,0) 56%); }
  .slide__txt { z-index: 2; }
}

.elementor .cats img,
.elementor .cats__all { width: 4.9rem; max-width: 4.9rem; height: 4.9rem; aspect-ratio: 1; border-radius: 50%; object-fit: cover; }

.home .reviews__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; margin: 0 0 16px; }
.home .reviews__head h2 { margin: 0; }
.home .reviews__nav { display: flex; align-items: center; gap: 2px; flex: none; }
.home .reviews__count { min-width: 3rem; text-align: center; font-size: 13px; line-height: 1; color: var(--muted); font-variant-numeric: tabular-nums; }
.home .reviews__arrow { width: 32px; height: 32px; border-radius: 8px; color: var(--ink); }
.home .reviews__arrow:hover { background: #f4eaf0; color: var(--wine); }
.home .reviews__track { display: flex; background: var(--card); border-radius: 12px; }
.home .reviews .review.is-active { align-items: center; padding: 20px 24px; }

@media (min-width: 861px) {
  .home .e-con.duo { align-items: stretch !important; }
  .home .e-con.duo > .elementor-widget-midnightiva-reviews,
  .home .e-con.duo > .elementor-widget-midnightiva-faq { display: flex !important; flex-direction: column; align-self: stretch; height: auto; }
  .home .e-con.duo > .elementor-widget-midnightiva-reviews > .elementor-widget-container,
  .home .e-con.duo > .elementor-widget-midnightiva-faq > .elementor-widget-container { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .home .reviews,
  .home .faq { display: flex; flex-direction: column; flex: 1 1 auto; height: auto; min-height: 0; }
  .home .reviews__track,
  .home .faq__list { flex: 1 1 auto; }
  .home .reviews .review.is-active { flex: 1 1 auto; height: auto; }
}

.elementor .reviews img,
.home .reviews .review img { width: 48px; max-width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }

.steps a { display: inline-flex; align-items: center; gap: .45rem; color: inherit; text-decoration: none; }
.steps li.is-done + li::before { background: var(--wine); }

@media (max-width: 760px) {
  .steps { align-items: flex-start; gap: 0; padding-block: 18px 16px; }
  .steps li { display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; width: 4.75rem; white-space: normal; text-align: center; }
  .steps a { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .steps li + li { margin-left: 2.5rem; }
  .steps li + li::before { position: absolute; top: .75rem; right: 100%; width: 2.5rem; margin: 0; transform: translateY(-50%); }
  .steps span { font-size: .75rem; line-height: 1.15; }
}

.woocommerce-checkout .page__title { margin: 0 0 16px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0 0 16px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0; padding: 14px 16px; border-radius: 12px; background: var(--card); font-size: 14px; line-height: 1.45; }
.woocommerce-checkout .woocommerce-info a.showcoupon { color: var(--wine); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-checkout form.checkout_coupon { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; padding: 16px; border-radius: 12px; background: var(--card); }
.woocommerce-checkout form.checkout_coupon[style*="display:none"],
.woocommerce-checkout form.checkout_coupon[style*="display: none"] { display: none !important; }
.woocommerce-checkout form.checkout_coupon > p:not(.form-row) { flex: 1 0 100%; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 0; min-width: 0; }
.woocommerce-checkout form.checkout_coupon .form-row-last { flex: none; }
.woocommerce-checkout form.checkout_coupon .input-text { width: 100%; min-width: 0; }
.woocommerce-checkout form.checkout_coupon .form-row { float: none; width: auto; margin: 0; }
.woocommerce-checkout form.checkout_coupon .clear { display: none; }
.woocommerce-checkout form.checkout_coupon .button { min-height: 3.05rem; padding: 0 18px; border: 0; border-radius: .9rem; background: var(--wine); color: #fff; font-weight: 600; cursor: pointer; }
