/* Ortak içerik bileşenleri — ana sayfa bölümleri, ürün kartı, içerik kartı, video. Değerler aesop.com'dan (theme.css'e bkz.). */

/* ── Bölüm başlığı / açıklaması ────────────────────────────────────────── */
.c-section { padding: 0; position: relative; }
.c-section__headings { display: flex; flex-flow: column; width: 100%; }
.c-section__title { font: 1.5625rem / 1.33 var(--f-serif); margin: 0 0 .625rem; text-align: left; text-transform: none; }
.c-section__description { font: .875rem / 1.5 var(--f-sans); margin: 0 0 .625rem; text-align: left; }
.c-section__content { margin: .625rem 0 0; }
.c-section__content.m-no-title { margin-top: 0; }
.c-section__actions { display: flex; justify-content: center; margin: 1.25rem 0 0; }
@media screen and (min-width: 64em) {
  .c-section { display: flex; flex-flow: column; max-width: 100%; }
  .c-section__title { font: 1.9375rem / 1.33 var(--f-serif); text-align: center; }
  .c-section__description { text-align: center; }
  .c-section__content { margin: 2.5rem 0 0; }
  .c-section__title.h-text-align-left, .c-section__description.h-text-align-left { text-align: left; }
}

/* ── Hero (c-content-hero) ─────────────────────────────────────────────── */
.c-content-hero { position: relative; }
.c-content-hero__media-wrapper, .c-content-hero__image-wrapper { position: relative; }
.c-content-hero__image { display: block; position: relative; }
.c-content-hero__image img, .c-content-hero__image video { display: block; height: 100%; object-fit: cover; width: 100%; }
.c-content-hero__caption { margin: 0 auto; max-width: var(--w-max); padding-left: var(--gutter); padding-right: var(--gutter); position: relative; width: 100%; z-index: 1; }
.c-content-hero__caption.m-caption-flex { display: flex; height: 100%; }
.c-content-hero__body { padding: 2.5rem 0 1.5625rem; width: 100%; }
.c-content-hero__label { color: var(--c-text); display: block; font: 500 .875rem / 1.5 var(--f-sans); margin: 0 0 .625rem; text-transform: none; }
.c-content-hero__title { color: var(--c-text); font: 1.5625rem / 1.33 var(--f-serif); margin: 0 0 .625rem; text-transform: none; }
.c-content-hero__description { color: var(--c-text-2); font: 1rem / 1.5 var(--f-sans); margin: 0 0 .9375rem; text-transform: none; }
.c-content-hero__actions { display: flex; flex-wrap: wrap; gap: .625rem; }
.c-content-hero__button { display: inline-block; position: relative; vertical-align: top; }
.c-content-hero__button:only-child { width: 100%; }
.c-content-hero .c-overlay.m-custom-gradient { background: linear-gradient(transparent, rgba(51, 51, 51, .5)); bottom: 0; display: block; height: 85%; inset: auto 0 0; pointer-events: none; position: absolute; top: auto; width: 100%; z-index: 0; }
.c-content-hero.m-light .c-content-hero__label, .c-content-hero.m-light .c-content-hero__title, .c-content-hero.m-light .c-content-hero__description { color: var(--c-bg); }
.c-content-hero__button .l-row { justify-content: flex-start; }

/* Ana sayfa hero karuseli: 1440'ta 720 px (50vw), görselin üstünde ortalı başlık */
.c-carousel.m-style-hero .c-carousel__item { overflow: hidden; }
.c-carousel.m-style-hero .c-content-hero__media-wrapper, .c-carousel.m-style-hero .c-content-hero__image-wrapper { aspect-ratio: 9 / 16; height: auto; }
.c-carousel.m-style-hero .c-content-hero__image, .c-carousel.m-style-hero .c-video-asset, .c-carousel.m-style-hero .c-video-asset__inner { height: 100%; }
/* Video/kapak yüklenene kadar koyu zemin: şeffaf header'ın açık logo ve simgeleri görünür kalsın */
.c-carousel.m-style-hero .c-video-asset, .c-carousel.m-style-hero .c-content-hero__image { background: var(--c-dark); }
.c-carousel.m-style-hero .c-content-hero__caption { inset: 0; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); }
.c-carousel.m-style-hero .c-content-hero__body { padding-bottom: 0; }
.c-carousel.m-style-hero .c-content-hero__body .c-content-hero__label,
.c-carousel.m-style-hero .c-content-hero__body .c-content-hero__title,
.c-carousel.m-style-hero .c-content-hero__body .c-content-hero__description { color: var(--c-bg); }
.c-carousel.m-style-hero .c-content-hero__body .c-content-hero__description { font-size: 1rem; }
.c-carousel.m-style-hero .c-content-hero__actions { margin-bottom: 6rem; }
.c-carousel.m-style-hero .c-content-hero__button { width: 100%; }
.c-carousel.m-style-hero .c-carousel__arrows { display: none; }
.c-carousel.m-style-hero .c-carousel__pagination { height: 1.875rem; margin: 1.25rem 0 0; max-width: var(--w-max); padding: 0 var(--gutter); text-align: center; width: 100%; }
.c-carousel.m-style-hero .c-carousel__pagination .c-carousel__pagination-bullet-custom { height: 1.875rem; }
.c-carousel.m-style-hero .c-carousel__pagination.m-color-light .c-carousel__pagination-bullet-custom::before { background: rgba(51, 51, 51, .25); }
.c-carousel.m-style-hero .c-carousel__pagination.m-color-light .c-carousel__pagination-bullet-custom.m-active::before { background: var(--c-text-2); }
.c-carousel.m-style-hero .c-carousel__pagination-bullet-custom { pointer-events: all; }
/* ≥768: 2:1 (1440'ta 720); geniş ekranda hero ilk ekrana sığsın diye ekran yüksekliğinden duyuru şeridi kadar az olanla sınırlı */
@media screen and (min-width: 48em) {
  .c-carousel.m-style-hero .c-content-hero__media-wrapper, .c-carousel.m-style-hero .c-content-hero__image-wrapper { aspect-ratio: 2 / 1;
    max-height: calc(100vh - 3.5625rem); max-height: calc(100svh - 3.5625rem); width: 100%; }
}
@media screen and (min-width: 64em) {
  .c-content-hero__caption { left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); }
  .c-content-hero__body { display: inline-block; padding: 2.5rem 0 1.875rem; width: 33.3333%; }
  .c-content-hero__body.m-width-100--large { width: 100%; }
  .c-content-hero__label { color: var(--c-bg); margin: 0 0 .75rem; }
  .c-content-hero__title { color: var(--c-bg); font: 1.9375rem / 1.33 var(--f-serif); margin: 0 0 .9375rem; }
  .c-content-hero__description { color: var(--c-bg); font: 1rem / 1.5 var(--f-sans); margin: 0 0 1.25rem; }
  .c-carousel.m-style-hero .c-content-hero__body { padding: 2.5rem 0 1.875rem; text-align: center; }
  .c-carousel.m-style-hero .c-content-hero__caption { align-items: flex-end; justify-content: center; }
  .c-carousel.m-style-hero .c-content-hero__actions { justify-content: center; margin-bottom: 4.3125rem; }
  .c-carousel.m-style-hero .c-content-hero__button { width: 33.3333%; }
  .c-carousel.m-style-hero .c-carousel__arrows { display: block; left: 50%; margin: 0 auto; max-width: var(--w-max); padding: 0 var(--gutter); position: absolute; top: 50%; transform: translate(-50%, -50%); width: 100%; z-index: 2; }
  .c-carousel.m-style-hero .c-carousel__arrow-prev { left: -2.1875rem; right: auto; }
  .c-carousel.m-style-hero .c-carousel__arrow-next { left: auto; right: -2.1875rem; }
  .c-carousel.m-style-hero .c-carousel__arrow-next::before, .c-carousel.m-style-hero .c-carousel__arrow-prev::before { background-color: var(--c-bg); height: 1.375rem; width: .75rem; }
  .c-carousel.m-style-hero .c-carousel__pagination { bottom: 1.5625rem; left: 50%; margin: 0; pointer-events: none; position: absolute; transform: translateX(-50%); z-index: 3; }
  .c-carousel.m-style-hero .c-carousel__pagination.m-color-light .c-carousel__pagination-bullet-custom::before { background: rgba(255, 254, 242, .35); }
  .c-carousel.m-style-hero .c-carousel__pagination.m-color-light .c-carousel__pagination-bullet-custom.m-active::before { background: var(--c-bg); }
  /* Görsel+metin modülünde (m-stack--large) başlık görselin ALTINDA, koyu */
  .c-content-hero.m-stack--large .c-content-hero__caption { position: static; transform: none; }
  .c-content-hero.m-stack--large .c-content-hero__label, .c-content-hero.m-stack--large .c-content-hero__title { color: var(--c-text); }
  .c-content-hero.m-stack--large .c-content-hero__description { color: var(--c-text); }
}
@media screen and (max-width: 63.9988em) {
  .c-carousel.m-style-hero .c-content-hero__caption { align-items: flex-end; justify-content: flex-start; }
}
/* Tablet (768–1023): masaüstü gibi ortalı metin ve yarım genişlik düğme */
@media screen and (min-width: 48em) and (max-width: 63.9988em) {
  .c-carousel.m-style-hero .c-content-hero__caption { justify-content: center; }
  .c-carousel.m-style-hero .c-content-hero__body { text-align: center; }
  .c-carousel.m-style-hero .c-content-hero__actions { justify-content: center; margin-bottom: 4.3125rem; }
  .c-carousel.m-style-hero .c-content-hero__button { width: 50%; }
}

/* Video (c-video-asset) */
.c-video-asset, .c-video-asset__inner, .c-video-asset__media { height: 100%; position: relative; }
.c-video-asset video { display: block; height: 100%; left: 0; object-fit: cover; position: absolute; top: 0; width: 100%; }
.c-video-asset__control { bottom: .625rem; left: .625rem; position: absolute; z-index: 3; }
.c-video-asset__control-button { background: var(--c-text); border-radius: 50%; box-shadow: rgba(51, 51, 51, .2) 0 0 .25rem 0; cursor: pointer; display: inline-block; height: 2.5rem;
  margin: 0 .3125rem 0 0; vertical-align: middle; width: 2.5rem; }
.c-video-asset__control-button::before { background-color: #d5d5cb; content: ""; display: block; height: 100%; width: 100%; mask: center / 100% auto no-repeat; -webkit-mask: center / 100% auto no-repeat; }
.c-video-asset__control-button.m-pause::before { mask-image: var(--i-durdur); -webkit-mask-image: var(--i-durdur); }
.c-video-asset__control-button.m-play::before { mask-image: var(--i-oynat); -webkit-mask-image: var(--i-oynat); }
.c-video-asset__control-button.m-mute::before { mask-image: var(--i-sessiz); -webkit-mask-image: var(--i-sessiz); }
.c-video-asset__control-button.m-unmute::before { mask-image: var(--i-ses); -webkit-mask-image: var(--i-ses); }
@media screen and (min-width: 64em) { .c-video-asset__control { bottom: 1.25rem; left: 1.25rem; } }

/* Tam genişlik görsel + altında metin (Aesop "A neighbourly presence") */
.c-feature .c-content-hero__media-wrapper, .c-feature .c-content-hero__image-wrapper { aspect-ratio: 390 / 488; overflow: hidden; }
.c-feature .c-content-hero__caption { position: static; transform: none; }
.c-feature .c-content-hero__body { text-align: left; width: 100%; }
.c-feature .c-content-hero__label, .c-feature .c-content-hero__title, .c-feature .c-content-hero__description { color: var(--c-text); }
@media screen and (min-width: 64em) {
  .c-feature .c-content-hero__media-wrapper, .c-feature .c-content-hero__image-wrapper { aspect-ratio: 16 / 9; }
  .c-feature .c-content-hero__body { text-align: center; }
  .c-feature .c-content-hero__actions { justify-content: center; }
}

/* ── Metin + görsel modülü (Aesop "The Gift Finder" / "The Library") ───── */
.c-text-media .c-content-hero__image-wrapper { aspect-ratio: 16 / 9; overflow: hidden; }
.c-text-media .c-content-hero__image { height: 100%; }
.c-text-media__text { padding: 0 var(--gutter); }
.c-text-media .c-content-hero__label { color: var(--c-text); margin: 0 0 .625rem; }
.c-text-media .c-section__title { text-align: left; }
.c-text-media .c-content-tile__description { font-size: 1rem; }
@media screen and (max-width: 63.9988em) {
  .c-text-media__row { flex-direction: column-reverse; }
  .c-text-media__text { padding-bottom: 3.75rem; padding-top: 1.25rem; }
}
@media screen and (min-width: 64em) {
  .c-text-media__row { align-items: flex-start; }
  .c-text-media .m-large-shrink > .h-padding-4 { width: 3.18125rem; }
  .c-text-media__text { padding: 0 1.4375rem; width: 33.3333%; }
  .c-text-media__media { flex: 1 1 0; padding: 0 1.4375rem; width: auto; }
  .c-text-media.m-image-left .c-text-media__media { order: 1; padding-left: 0; }
  .c-text-media.m-image-left .c-text-media__text { order: 2; }
  .c-text-media.m-image-left .c-text-media__spacer { order: 3; }
  .c-text-media.m-image-right .c-text-media__media { padding-right: 0; }
  .c-text-media .c-section__title { text-align: left; }
}

/* ── İçerik kartı (c-content-tile) ─────────────────────────────────────── */
.c-content-tile { align-items: flex-start; display: flex; flex-flow: column; margin: 0 0 .9375rem; text-decoration: none; }
.c-content-tile:focus, .c-content-tile:hover { color: inherit; }
.c-content-tile__section { flex-basis: auto; max-width: 100%; padding: 1.25rem 0 0; width: 100%; }
.c-content-tile__section:first-child { flex-shrink: 0; padding: 0; }
.c-content-tile__image { position: relative; }
.c-content-tile__image img { display: block; object-fit: cover; width: 100%; }
.c-content-tile__content { flex: 0 1 auto; width: 100%; }
.c-content-tile__label { color: var(--c-text); display: block; font: 500 .875rem / 1.25 var(--f-sans); margin: 0 0 .625rem; padding: 0; text-transform: none; }
.c-content-tile__label p { line-height: 1.6; }
.c-content-tile__title { color: var(--c-text); font: 500 1rem / 1.5 var(--f-sans); margin: 0 0 .125rem; text-transform: none; }
.c-content-tile__description { color: var(--c-text-2); font: .875rem / 1.5 var(--f-sans); margin: 0 0 .625rem; text-transform: none; }
.c-content-tile__description p { line-height: 1.6; }
.c-content-tile.m-article .c-content-tile__image img { aspect-ratio: 3 / 2; }
.c-content-tile.m-article .c-content-tile__title { font: 400 1rem / 1.7 var(--f-sans); }
.c-content-tile.m-category .c-content-tile__image img { aspect-ratio: 218 / 170; }
.c-content-tile.m-category .c-content-tile__title { margin-bottom: 0 !important; }
@media screen and (min-width: 64em) {
  .c-content-tile { margin: 0; }
  .c-content-tile__title { font: 500 1rem / 1.7 var(--f-sans); margin: 0 0 .625rem; }
}

/* Güven şeridi (Aesop "Certified B Corp / Leaping Bunny") */
.c-reassurance-tiles .c-content-tile { text-align: left; }
.c-reassurance-tiles .c-content-tile__section:last-child { padding-top: 1.25rem; }
.c-reassurance-tiles .c-content-tile__title { font-weight: 500; }
.c-reassurance-tiles .c-content-tile__title span { font-size: .875rem; }
@media screen and (min-width: 64em) { .c-reassurance-tiles .c-content-tile { text-align: center; } }

/* Alıntı */
.c-quote .c-section__title { text-align: center; }
.c-quote .c-section__description { font-size: .875rem; font-weight: 600; text-align: center; }

/* ── Ürün kartı (c-product-tile) ───────────────────────────────────────── */
.c-product-tile__wrapper { height: 100%; position: relative; }
.c-product-tile { color: var(--c-text); display: flex; flex-flow: column; font-size: .75rem; height: 100%; padding: 0; position: relative; text-align: center; }
.c-product-tile__figure { flex-grow: 0; }
.c-product-tile__thumbnail { background: var(--c-bg); display: block; margin: 0 0 .75rem; overflow: hidden; position: relative; width: 100%; }
.c-product-tile__thumbnail::after { content: ""; display: block; height: 0; padding-bottom: 100%; width: 100%; }
.c-product-tile__thumbnail .c-product-image { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.c-product-tile__thumbnail img { height: 100%; left: 0; object-fit: contain; position: absolute; top: 0; width: 100%; }
.c-product-image { display: block; }
.c-product-image__primary, .c-product-image__secondary { transition: opacity .4s .2s; }
.c-product-image__secondary { opacity: 0; }
.c-product-tile__badge { color: inherit; font: .75rem var(--f-sans); left: 0; max-width: 30%; position: absolute; text-align: left; top: .25rem; transition: opacity .4s .2s; z-index: 1; }
.c-product-badge__title { color: var(--c-badge); display: block; font: 500 .6875rem var(--f-sans); margin: 0 0 .75rem; text-align: left; }
.c-product-tile__wishlist { position: absolute; right: .25rem; top: .25rem; z-index: 1; }
.c-add-to-wishlist { background: none; border-radius: 50%; cursor: pointer; display: inline-block; }
.c-add-to-wishlist__inner { display: block; padding: .25rem; }
.c-add-to-wishlist__inner::after { background-color: var(--c-black); content: ""; display: block; height: 1rem; width: 1rem; mask: var(--i-kalp) center / 100% auto no-repeat; -webkit-mask: var(--i-kalp) center / 100% auto no-repeat; }
.c-add-to-wishlist.m-added .c-add-to-wishlist__inner::after { background-color: var(--c-badge); }
.c-product-tile__caption { display: flex; flex-flow: column; flex-grow: 1; min-width: 0; }
.c-product-tile__caption-inner { flex-grow: 1; }
.c-product-tile__name { font: 600 .875rem / 1.08 var(--f-sans); margin: 0 0 .625rem; min-height: 1.89rem; }
.c-product-tile__name, .c-product-tile__name a { color: var(--c-text); display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-decoration: none; }
.c-product-tile__name a:hover { color: var(--c-black); }
.c-product-tile__description { color: var(--c-text-2); display: -webkit-box; font: 400 .875rem / 1.5 var(--f-sans); margin: 0 0 .5rem; min-height: 2.625rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.c-product-tile__variations-group { display: flex; flex-flow: column; height: 2.9375rem; margin: .75rem 0; }
.c-product-tile__variations { margin: 0 auto; max-width: 100%; padding: .4375rem 0 0; width: 100%; }
.c-product-tile__variations .c-select__label { color: var(--c-text-2); font: .75rem / 1rem var(--f-sans); }
.c-product-tile__variations .c-select__field { font: .875rem / 1.5rem var(--f-sans); }
.c-product-tile__price { color: inherit; font: .875rem / 1.2 var(--f-sans); padding: 0; }
.c-product-price { display: inline-flex; flex-wrap: wrap; justify-content: center; }
.c-product-price__value { padding: 0 .5rem 0 0; white-space: nowrap; }
.c-product-price__value:last-child { padding-right: 0; }
.c-product-price__value.m-old { color: var(--c-text-2); font-weight: 400; text-decoration: line-through; }
.c-product-price__value.m-old:empty, .c-product-price__value.m-old:not([data-amount]) { display: none; }
.c-product-tile__actions { margin: .5rem 0 0; padding: .4375rem 0 0; }
.c-product-add-bag__button { min-width: 100%; }
.c-product-add-bag__button.m-loading { opacity: .7; pointer-events: none; }
@media screen and (min-width: 64em) {
  .c-product-tile__thumbnail:hover .c-product-image.m-with-alternatives .c-product-image__primary { opacity: 0; }
  .c-product-tile__thumbnail:hover .c-product-image.m-with-alternatives .c-product-image__secondary { opacity: 1; }
  .c-product-tile__thumbnail:hover .c-product-tile__badge { opacity: 0; }
  .c-product-tile__price { font: 400 1rem / 1.2 var(--f-sans); }
  .c-product-tile__actions { padding: .75rem 0 0; }
  .c-product-tile__wishlist { right: .5rem; top: .5rem; }
  .c-product-tile__badge { top: .5rem; }
}
