/* Liman – ürün listeleri, marka şeridi ve içerik section'ları (TPL-004 / TPL-005). Yalnız token değişkenleri. */

/* new-products / best-sellers / discounted-products: ızgara düzeni */
@media (min-width: 1100px) {
  .product-list__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-list__grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .product-list__grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* brand-strip */
.brand-strip__viewport { position: relative; }
.brand-strip__list { --slider-gap: 0.75rem; }
.brand-strip__list > .brand-strip__item { flex: 0 0 calc((100% - 2 * var(--slider-gap)) / 2.6); }
@media (min-width: 768px) { .brand-strip__list > .brand-strip__item { flex-basis: calc((100% - 3 * var(--slider-gap)) / 4); } }
@media (min-width: 1100px) {
  .brand-strip__list { --slider-gap: 1rem; }
  .brand-strip__list--cols-3 > .brand-strip__item { flex-basis: calc((100% - 2 * var(--slider-gap)) / 3); }
  .brand-strip__list--cols-4 > .brand-strip__item { flex-basis: calc((100% - 3 * var(--slider-gap)) / 4); }
  .brand-strip__list--cols-5 > .brand-strip__item { flex-basis: calc((100% - 4 * var(--slider-gap)) / 5); }
  .brand-strip__list--cols-6 > .brand-strip__item { flex-basis: calc((100% - 5 * var(--slider-gap)) / 6); }
  .brand-strip__list--cols-7 > .brand-strip__item { flex-basis: calc((100% - 6 * var(--slider-gap)) / 7); }
  .brand-strip__list--cols-8 > .brand-strip__item { flex-basis: calc((100% - 7 * var(--slider-gap)) / 8); }
}
.brand-strip__link { display: grid; place-items: center; height: 6rem; padding: 1rem; border-radius: var(--radius-card); background: var(--color-background); color: var(--color-heading); text-decoration: none; }
.brand-strip--bordered .brand-strip__link { border: 1px solid var(--color-border); }
a.brand-strip__link:hover { border-color: var(--color-primary); }
.brand-strip__logo { max-width: 100%; max-height: 3.5rem; width: auto; object-fit: contain; transition: filter 0.2s ease, opacity 0.2s ease; }
.brand-strip--grayscale .brand-strip__logo { filter: grayscale(1); opacity: 0.75; }
.brand-strip--grayscale .brand-strip__link:hover .brand-strip__logo { filter: none; opacity: 1; }
.brand-strip__name { font-weight: 800; font-size: 1.0625rem; letter-spacing: 0.04em; text-transform: uppercase; text-align: center; overflow-wrap: anywhere; }
.brand-strip .slider__controls { position: absolute; inset: 0; margin: 0; pointer-events: none; }
.brand-strip .slider__controls > * { pointer-events: auto; }

/* rich-text */
.rich-text__inner { display: grid; gap: 1rem; max-width: 47.5rem; }
.rich-text--center .rich-text__inner { margin-inline: auto; justify-items: center; text-align: center; }
.rich-text--center .rich-text__inner .rte { margin-inline: auto; }
.rich-text__heading { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); }
.rich-text--surface .container > .rich-text__inner, .rich-text--primary .container > .rich-text__inner { padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: var(--radius-card); max-width: none; }
.rich-text--surface .rich-text__inner { background: var(--color-surface); }
.rich-text--primary .rich-text__inner { background: var(--color-primary); color: var(--color-on-primary); }
.rich-text--primary :is(.rich-text__heading, .rte, .eyebrow) { color: inherit; }
.rich-text--primary .button { background: var(--color-background); border-color: var(--color-background); color: var(--color-primary); }

/* image-block */
.image-block__frame { position: relative; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface); }
.image-block--full .image-block__frame { border-radius: 0; }
.image-block__image, .image-block__placeholder { width: 100%; height: clamp(14rem, 40vw, 28rem); object-fit: cover; }
.image-block--small :is(.image-block__image, .image-block__placeholder) { height: clamp(10rem, 25vw, 18rem); }
.image-block--large :is(.image-block__image, .image-block__placeholder) { height: clamp(18rem, 55vw, 40rem); }
.image-block__placeholder, .video-section__placeholder, .lookbook__placeholder, .icon-features__placeholder { display: grid; place-items: center; color: var(--color-text-muted); background: var(--color-surface); }
.image-block__content { display: grid; gap: 0.75rem; justify-items: start; padding: 1.5rem; }
@media (min-width: 768px) {
  .image-block__frame:has(.image-block__image) .image-block__content { position: absolute; inset: auto auto 0 0; max-width: 34rem; margin: 2.5rem; padding: 2rem; border-radius: var(--radius-card); background: var(--color-background); }
  .image-block--text-center .image-block__frame:has(.image-block__image) .image-block__content { inset: 50% auto auto 50%; margin: 0; transform: translate(-50%, -50%); justify-items: center; text-align: center; }
}
.image-block__heading { font-size: clamp(1.375rem, 1.1rem + 1vw, 2rem); }

/* video */
.video-section__frame { position: relative; overflow: hidden; border-radius: var(--radius-card); background: var(--color-primary); }
.video-section__cover, .video-section__placeholder { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.video-section__play { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem; background: var(--color-overlay); color: var(--color-on-primary); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none; }
.video-section__play-icon { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--color-background); position: relative; transition: transform 0.2s ease; }
.video-section__play-icon::after { content: ''; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-style: solid; border-width: 0.75rem 0 0.75rem 1.25rem; border-color: transparent transparent transparent var(--color-primary); }
.video-section__play:hover .video-section__play-icon { transform: scale(1.06); }
.video-section__caption { margin-top: 0.75rem; font-size: var(--text-small); color: var(--color-text-muted); text-align: center; }

/* lookbook (Liman fallback: 2 kolon görsel + etiket) */
.lookbook { --look-frame: var(--color-accent); --look-band: var(--color-surface); }
@supports (width: attr(data-x type(<length>), 1px)) {
  .lookbook[data-frame-color^='#'] { --look-frame: attr(data-frame-color type(<color>), var(--color-accent)); }
  .lookbook[data-band-color^='#'] { --look-band: attr(data-band-color type(<color>), var(--color-surface)); }
}
.lookbook__list { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .lookbook__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } }
@media (min-width: 1100px) { .lookbook--grid .lookbook__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .lookbook--grid .lookbook__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 768px) {
  .lookbook--staggered .lookbook__item:nth-child(even) { margin-top: 4rem; }
  .lookbook--reverse .lookbook__item:nth-child(odd) { order: 2; }
}
.lookbook__figure { position: relative; display: grid; gap: 0.75rem; }
.lookbook__image, .lookbook__placeholder { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-card); }
.lookbook__item--frame-top_end .lookbook__figure { box-shadow: 0.75rem -0.75rem 0 var(--look-band); }
.lookbook__item--frame-top_start .lookbook__figure { box-shadow: -0.75rem -0.75rem 0 var(--look-band); }
.lookbook__item--frame-bottom_end .lookbook__figure { box-shadow: 0.75rem 0.75rem 0 var(--look-band); }
.lookbook__label { display: grid; gap: 0.25rem; padding-left: 1rem; border-left: 3px solid var(--look-frame); }
.lookbook--stripes .lookbook__label { border-left-style: double; border-left-width: 6px; }
.lookbook--overlay_card .lookbook__label { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; padding: 1rem 1.25rem; border-left: 0; border-radius: var(--radius-card); background: var(--color-background); }
.lookbook--side_label .lookbook__figure { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.lookbook--side_label .lookbook__label { writing-mode: vertical-rl; transform: rotate(180deg); padding: 1rem 0 0; border-left: 0; border-top: 3px solid var(--look-frame); }
.lookbook__title { font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-heading); }
.lookbook__text { color: var(--color-text); }
.lookbook__price { font-weight: 700; color: var(--color-heading); }
.lookbook__link { color: var(--color-heading); }

/* icon-features: row (Liman), divided, split_image */
.icon-features__list { display: grid; gap: 1rem; }
@media (min-width: 600px) { .icon-features__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 990px) {
  .icon-features__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icon-features__list--4, .icon-features__list--5, .icon-features__list--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.icon-feature { --feature-icon: var(--color-heading); display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border-radius: var(--radius-card); background: var(--color-surface); }
@supports (width: attr(data-x type(<length>), 1px)) { .icon-feature[data-icon-color^='#'] { --feature-icon: attr(data-icon-color type(<color>), var(--color-heading)); } }
.icon-feature__icon { flex: none; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--color-background); color: var(--feature-icon); }
.icon-feature__text { display: grid; gap: 0.125rem; min-width: 0; }
.icon-feature__title { color: var(--color-heading); font-size: 0.9375rem; text-transform: uppercase; letter-spacing: 0.02em; overflow-wrap: anywhere; }
.icon-feature__desc { font-size: var(--text-small); color: var(--color-text-muted); overflow-wrap: anywhere; }
.icon-features--divided .icon-feature { flex-direction: column; text-align: center; background: none; border-radius: 0; }
@media (min-width: 990px) { .icon-features--divided .icon-feature + .icon-feature { border-left: 1px solid var(--color-border); } }
.icon-features--split_image .icon-features__body { display: grid; gap: 1.5rem; align-items: center; }
.icon-features__image, .icon-features__placeholder { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-card); }
.icon-features--split_image .icon-features__list { grid-template-columns: 1fr; }
@media (min-width: 990px) {
  .icon-features--split_image .icon-features__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; }
  .icon-features--image-end .icon-features__media { order: 2; }
  .icon-features--split_image.icon-features--image-center .icon-features__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); }
  .icon-features--split_image.icon-features--image-center .icon-features__media { grid-column: 2; grid-row: 1; }
  .icon-features--split_image.icon-features--image-center .icon-features__list { grid-column: 1 / -1; grid-row: 1; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); column-gap: 3rem; }
  .icon-features--split_image.icon-features--image-center .icon-feature:nth-child(odd) { grid-column: 1; }
  .icon-features--split_image.icon-features--image-center .icon-feature:nth-child(even) { grid-column: 3; }
}

/* Dalga 70: section seviyesindeki kurallar (testimonials, blog-posts kartları, rich-text `.rte`) her sayfada yüklenen bu dosyada. */
/* Müşteri yorumları (testimonials) */
.testimonials__viewport { position: relative; }
.testimonials__track { --slider-gap: 0.75rem; padding-bottom: 0.25rem; }
.testimonials__track > .testimonials__item { flex: 0 0 85%; }
@media (min-width: 768px) { .testimonials__track > .testimonials__item { flex-basis: calc((100% - var(--slider-gap)) / 2); } }
@media (min-width: 1280px) { .testimonials__track { --slider-gap: 1rem; } .testimonials__track > .testimonials__item { flex-basis: calc((100% - 2 * var(--slider-gap)) / 3); } }
.testimonial { display: flex; flex-direction: column; gap: 0.75rem; height: 100%; margin: 0; padding: 1.5rem; border-radius: var(--radius-card); background: var(--color-surface); }
.testimonial__title { font-weight: 700; color: var(--color-heading); overflow-wrap: anywhere; }
.testimonial__body { margin: 0; color: var(--color-text); line-height: 1.6; overflow-wrap: anywhere; }
.testimonial__author { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-top: auto; font-size: var(--text-small); }
.testimonial__name { font-weight: 600; color: var(--color-heading); }
.testimonial__verified { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--color-success); }
.testimonials .slider__controls { position: absolute; inset: 0; margin: 0; pointer-events: none; }
.testimonials .slider__controls > * { pointer-events: auto; }
.testimonials .slider__arrow--prev { left: -1.25rem; } .testimonials .slider__arrow--next { right: -1.25rem; }

/* Blog listesi ve kartları */
.main-blog { padding-bottom: 4rem; }
.main-blog__categories { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.25rem; }
.main-blog__categories .pill { white-space: nowrap; min-height: 2.75rem; }
.main-blog__categories .pill[aria-current] { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-on-primary); }
.main-blog__featured { margin-bottom: 2rem; }
.main-blog__grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .main-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
  .main-blog__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .main-blog__grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.article-card { display: flex; flex-direction: column; gap: 1rem; height: 100%; }
.article-card__media { display: block; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface); }
.article-card__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 0.4s ease; }
.article-card:hover .article-card__image { transform: scale(1.03); }
.article-card__body { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.article-card--no-image .article-card__body { padding: 1.5rem; border-radius: var(--radius-card); background: var(--color-surface); }
.article-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; font-size: var(--text-small); color: var(--color-text-muted); }
.article-card__title { font-size: 1.125rem; font-weight: 700; line-height: 1.3; text-transform: none; letter-spacing: 0; overflow-wrap: anywhere; }
.article-card__title a { text-decoration: none; }
.article-card__title a:hover { text-decoration: underline; }
.article-card__excerpt { color: var(--color-text); overflow-wrap: anywhere; }
.article-card__more { margin-top: auto; color: var(--color-heading); }
@media (min-width: 990px) {
  .article-card--featured { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 2.5rem; }
  .article-card--featured.article-card--no-image { grid-template-columns: 1fr; }
  .article-card--featured .article-card__title { font-size: clamp(1.5rem, 1.1rem + 1vw, 2.25rem); text-transform: var(--heading-transform); letter-spacing: var(--heading-letter-spacing); font-weight: var(--heading-weight); }
}

/* Zengin içerik (content engine HTML: paragraf, başlık, liste, alıntı, ayraç, callout, tablo, görsel, galeri, video,
   dosya, düğme, akordeon, ürün / ürün slider / kategori / marka / banner blokları, kod) */
.rte { max-width: 47.5rem; font-size: 1.0625rem; line-height: 1.75; color: var(--color-text); overflow-wrap: anywhere; }
.rte--wide { max-width: none; }
.rte > * + * { margin-top: 1.25rem; }
.rte h2, .rte h3, .rte h4 { margin-top: 2.25rem; text-transform: none; letter-spacing: 0; line-height: 1.25; }
.rte h2 { font-size: 1.625rem; font-weight: 800; }
.rte h3 { font-size: 1.3125rem; font-weight: 700; }
.rte h4 { font-size: 1.125rem; font-weight: 700; color: var(--color-heading); }
.rte a:not(.button) { color: var(--color-heading); text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; }
.rte ul, .rte ol { padding-left: 1.5rem; }
.rte li + li { margin-top: 0.375rem; }
.rte li::marker { color: var(--color-accent-text); }
.rte blockquote { padding: 0.5rem 0 0.5rem 1.5rem; border-left: 3px solid var(--color-accent); font-family: var(--font-accent); font-size: 1.5rem; line-height: 1.4; color: var(--color-heading); }
.rte hr { height: 1px; border: 0; background: var(--color-border); margin-block: 2.5rem; }
.rte img, .rte video { width: 100%; height: auto; border-radius: var(--radius-card); }
.rte figure figcaption { margin-top: 0.5rem; font-size: var(--text-small); color: var(--color-text-muted); text-align: center; }
.rte table { width: 100%; border-collapse: collapse; font-size: var(--text-small); display: block; overflow-x: auto; }
.rte th, .rte td { padding: 0.75rem; border: 1px solid var(--color-border); text-align: left; }
.rte th { background: var(--color-surface); color: var(--color-heading); }
.rte pre { padding: 1rem 1.25rem; border-radius: var(--radius-card); background: var(--color-primary); color: var(--color-on-primary); font-size: 0.875rem; line-height: 1.6; overflow-x: auto; }
.rte code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; }
.rte :not(pre) > code { padding: 0.125rem 0.375rem; border-radius: 4px; background: var(--color-surface); color: var(--color-heading); }
.rte aside, .rte .content-block--callout { display: flex; gap: 0.75rem; padding: 1rem 1.25rem; border-left: 3px solid var(--color-primary); border-radius: var(--radius-card); background: var(--color-surface); }
.rte details { border-block: 1px solid var(--color-border); }
.rte details + details { margin-top: 0; border-top: 0; }
.rte summary { display: flex; justify-content: space-between; align-items: center; min-height: 3.25rem; font-weight: 700; color: var(--color-heading); }
.rte summary::after { content: '+'; font-size: 1.25rem; font-weight: 400; }
.rte details[open] > summary::after { content: '−'; }
.rte details > :not(summary) { padding-bottom: 1rem; }
.rte .content-block--gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; }
.rte .content-block--products, .rte .content-block--product-slider { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (min-width: 768px) { .rte .content-block--products, .rte .content-block--product-slider { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rte .content-block--product, .rte .content-block--category, .rte .content-block--brand, .rte .content-block--file { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-card); text-decoration: none; }
.rte .content-block--product img, .rte .content-block--category img, .rte .content-block--brand img { width: 5rem; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--radius-card) / 2); }
.rte .content-block--banner { padding: 2rem; border-radius: var(--radius-card); background: var(--color-primary); color: var(--color-on-primary); }
.rte .content-block--banner :is(h2, h3, a) { color: inherit; }
.rte .content-block--video, .rte iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius-card); background: var(--color-surface); }
@media (min-width: 1024px) { .testimonials .slider__arrow { display: block; } }

/* TPL-110: bölüm düzen varyantları — video "Geniş" (tam genişlik çerçeve), müşteri yorumları "Izgara". */
.video-section--wide .container { max-width: none; padding-inline: 0; }
.video-section--wide .section-heading, .video-section--wide .video-section__caption { padding-inline: var(--gutter); }
.video-section--wide .video-section__frame { border-radius: 0; }
.testimonials--grid .testimonials__track { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; }
.testimonials--grid .testimonials__track > .testimonials__item { flex: 1 1 18rem; }
