/* Review layer for the original reference compositions.
 * Keep this file deliberately small: it normalises shared media, type and
 * interaction affordances without replacing the page-specific art direction.
 */
@font-face {
  font-family: Space;
  src: url('./space-grotesk-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Space;
  src: url('./space-grotesk-latin-ext.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0100-02FF, U+0300-036F, U+1D00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root { --header: 64px; }

/* Reference styles hide these until the old observer adds .is-visible. */
html:not(.ae-js) .reveal,
html:not(.js) .reveal,
.reveal.is-visible { opacity: 1; transform: none; }

/* Keep the original fixed header contract: reference heroes already reserve 64px. */
.site-header { position: fixed; top: 0; right: 0; left: 0; z-index: 50; height: var(--header); }

/* The Hungarian Pride campaign is wide enough to fill this frame without
   clipping any of the five faces or the garments. Contain left empty blue
   bands above and below the photograph on desktop. */
.pride-country-page .pride-hero-image img { object-fit: cover; object-position: center 44%; }

/* Preserve the asymmetric brand list and make its preview deterministic. */
.brand-preview-stage { min-width: 0; min-height: 1px; }
.brand-preview-stage img { width: 100%; height: 100%; object-fit: cover; }
.brand-row-thumb { width: 92px; height: 112px; object-fit: cover; }

/* Korhatáros oldal: a kapu ráborított ablak a látható tartalom fölött (2026-10-07, 14. pont); a háttér szinte átlátszatlan. */
body[data-adult="1"] #review-age-gate,
body[data-adult="1"] .review-age-gate,
body[data-adult="1"] .age-gate { position: fixed; inset: 0; z-index: 200; }
.review-age-gate { max-width: min(520px, calc(100% - 32px)); padding: 32px; border: 0; background: #111; color: #fff; }
.review-age-gate::backdrop { background: rgba(0, 0, 0, .9); }
.review-age-gate button { min-height: 48px; padding: 12px 16px; border: 0; background: #d9ff32; color: #111; font: inherit; cursor: pointer; }

.review-lightbox {
  width: min(94vw, 1320px);
  max-width: none;
  max-height: 94svh;
  padding: 0;
  border: 0;
  background: #0b0b0b;
  color: #fff;
}
.review-lightbox::backdrop { background: rgba(0, 0, 0, .86); }
.review-lightbox figure { position: relative; display: grid; place-items: center; margin: 0; min-height: 30svh; }
.review-lightbox img { display: block; width: auto; max-width: 100%; max-height: 82svh; object-fit: contain; }
.review-lightbox figcaption { width: 100%; padding: 10px 16px 14px; font-size: 12px; line-height: 1.4; }
.review-lightbox button { position: absolute; z-index: 1; min-width: 44px; min-height: 44px; border: 0; background: rgba(0,0,0,.58); color: inherit; cursor: pointer; }
.review-lightbox [data-review-close] { top: 10px; right: 10px; }
.review-lightbox [data-review-prev] { left: 10px; top: 50%; transform: translateY(-50%); }
.review-lightbox [data-review-next] { right: 10px; top: 50%; transform: translateY(-50%); }

@media (max-width: 620px) {
  .brand-row-thumb { width: 92px; height: 112px; }
  .review-lightbox { width: 100vw; max-height: 100svh; }
  .review-lightbox img { max-height: 82svh; }
}

/* Compact generated review entries; the original editorial pages remain untouched. */
.review-entry { padding: clamp(56px, 8vw, 120px) var(--gutter, clamp(18px, 3.2vw, 52px)); }
.review-entry > h1,
.review-entry > header h1 { max-width: 12ch; margin: 0 0 clamp(28px, 4vw, 56px); font-size: clamp(42px, 7vw, 84px); line-height: .94; letter-spacing: -.05em; }
.review-entry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 36px); }
.review-entry-grid article { min-width: 0; }
.review-entry-grid figure { margin: 0 0 18px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface, #f2f4f5); }
.review-entry-grid figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
.review-entry-grid h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 42px); line-height: 1; letter-spacing: -.035em; }
.review-entry-grid p { max-width: 38ch; margin: 0; font-size: clamp(15px, 1.25vw, 19px); line-height: 1.5; }
.review-country-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); min-height: calc(100svh - var(--header)); padding-top: var(--header); }
.review-country-hero > * { min-width: 0; }
.review-country-hero figure { margin: 0; overflow: hidden; background: var(--surface, #f2f4f5); }
.review-country-hero figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.review-country-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 96px) var(--gutter, clamp(18px, 3.2vw, 52px)); }
.review-country-scene { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; background: var(--surface, #f2f4f5); color: var(--ink, #111); }
.review-country-scene-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 32px; padding: clamp(42px, 5.5vw, 88px) var(--gutter, clamp(18px, 3.2vw, 52px)); }
.review-country-scene h2 { max-width: 15ch; margin: 0; font-size: clamp(40px, 5vw, 76px); line-height: .97; letter-spacing: -.045em; }
.review-country-scene h2 a:hover, .review-country-scene h2 a:focus-visible { text-decoration: underline; text-decoration-thickness: .07em; text-underline-offset: .12em; }
.review-country-scene figure { margin: 0; min-width: 0; overflow: hidden; }
.review-country-scene figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.review-search { padding: clamp(48px, 7vw, 100px) var(--gutter, clamp(18px, 3.2vw, 52px)); }
.review-search form { display: flex; gap: 12px; max-width: 760px; margin-bottom: 38px; }
.review-search input { flex: 1; min-height: 48px; padding: 10px 14px; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; }
.review-search-results { display: grid; gap: 0; border-top: 1px solid currentColor; }
.review-search-results > * { padding: 18px 0; border-bottom: 1px solid currentColor; }
@media (max-width: 760px) {
  .review-entry-grid { grid-template-columns: 1fr; gap: 42px; }
  .review-country-hero { grid-template-columns: 1fr; min-height: 0; }
  .review-country-hero figure { aspect-ratio: 4 / 3; }
  .review-country-scene { grid-template-columns: 1fr; min-height: 0; }
  .review-country-scene figure { grid-row: 1; aspect-ratio: 4 / 3; }
  .review-country-scene-copy { gap: 28px; padding-block: 42px 50px; }
  .review-country-scene h2 { font-size: clamp(36px, 9vw, 56px); }
  .review-search form { display: grid; }
}

/* Generated shared navigation has no decorative number column. */
@media (max-width: 960px) {
 .site-header .mobile-menu { justify-content: flex-start; overflow-y: auto; padding-top: 24px; }
 .site-header .mobile-menu a { display: block; font-size: clamp(24px, 7vw, 42px); line-height: 1.2; padding: 14px 0; }
}
html[lang^="bg"] body { font-family: Arial, sans-serif; }
html[lang^="bg"] h1, html[lang^="bg"] h2, html[lang^="bg"] h3 { font-family: Arial, sans-serif; }
main:has(> .review-entry:first-child) { padding-top: var(--header); }
.review-search input { min-width: 0; }
.scene-section > *, .stories-scene > *, .stories-archive-heading > * { min-width: 0; }
.scene-copy h2, .stories-scene-copy h2 { font-size: clamp(32px, 4vw, 64px); }
.locale-hero-copy h1 { max-width: 100%; font-size: clamp(38px, 4.8vw, 70px); }
.story-cover-media.product-study { width: 100%; min-width: 0; max-width: 100%; }
@media (max-width: 620px) { .scene-copy h2 { font-size: clamp(32px, 9.5vw, 46px); } }
@media (max-width: 700px) { .campaign-chapter-heading h2 { font-size: clamp(30px, 9.4vw, 42px); } }
.review-search button { padding: 12px 20px; border: 1px solid currentColor; background: var(--accent); cursor: pointer; }
.review-intro { max-width: 65ch; font-size: clamp(17px, 1.5vw, 22px); line-height: 1.5; }
.review-brand-hero { grid-template-columns: minmax(0, 1.5fr) minmax(350px, .7fr); min-height: clamp(600px, calc(100svh - var(--header) - 72px), 740px); }
.review-brand-hero .locale-hero-media { min-height: 0; background: #111; }
.review-brand-hero .locale-hero-media img { object-fit: cover; object-position: center 42%; }
.review-local-brand[data-mood="fetish"] .review-brand-hero .locale-hero-media img { object-fit: cover; object-position: center 35%; }
.review-brand-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 96px); align-items: center; padding: clamp(40px, 6vw, 88px) var(--gutter); }
.review-brand-story:nth-child(odd) > figure { grid-column: 1; grid-row: 1; }
.review-brand-story > div { max-width: 60ch; }
.review-brand-story h2 { font-size: clamp(28px, 3.3vw, 52px); line-height: 1.08; letter-spacing: -.035em; }
.review-brand-story p { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.65; }
.review-brand-story figure img { height: auto; max-height: 720px; object-fit: contain; }
.review-campaign-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 32px 0; align-items: start; }
.review-campaign-grid img { height: auto; }
.review-fetish-link { background: #171717; color: #fff; }
.review-entry-grid .review-adfetish-entry { display: grid; place-items: center; background:#171717; color:#fff; font-size:clamp(28px,4vw,56px); font-weight:700; }
.review-adfetish-entry small { display:block; font-size:16px; font-weight:400; text-align:center; margin-top:16px; }
.review-local-brand[data-mood="fetish"] { --canvas:#111; --ink:#fff; --line:rgba(255,255,255,.2); }
.review-local-brand[data-mood="fetish"] .header-mark img, .review-local-brand[data-mood="fetish"] footer > img { filter: invert(1); }
.review-local-brand[data-mood="es"] { --accent:#e6e9ed; }
@media(max-width:760px) {
 .review-brand-story { grid-template-columns: 1fr; }
 .review-brand-story:nth-child(odd) > figure { grid-column: auto; grid-row: auto; }
 .review-campaign-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
}
@media (max-width: 960px) {
 .review-brand-hero { min-height: 0; }
 .review-brand-hero .locale-hero-media { aspect-ratio: 3 / 2; }
 .review-local-brand[data-mood="fetish"] .review-brand-hero .locale-hero-media { aspect-ratio: 3 / 2; }
 .review-brand-hero .locale-hero-copy { min-height: 0; padding-top: 42px; padding-bottom: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  .review-lightbox img { transition: none !important; }
}

/* Választóoldal: a böngésző nyelvének megfelelő kiadás és a folytatás (2026-10-06) */
.language-links a.is-suggested { outline: 2px solid currentColor; outline-offset: 3px; }
.locale-continue { margin-top: 16px; }
.locale-continue a { display: inline-block; padding: 12px 16px; background: var(--accent, #1cff8a); color: #111; font-weight: 700; text-decoration: none; }
/* egy oldalon egy kiemelőszín: a gomb az oldal saját --accent színét viszi, mint a kiválasztott ország sora (2026-10-06;
   előtte a sárga gomb a zöld sor mellett két neonszín volt egymás mellett) */
.locale-continue a:focus-visible { outline: 2px solid #111; outline-offset: 3px; }

/* Választóoldal telefonon (2026-10-06, hiba: az első képernyőn csak a kép látszott, a választás a hajtás alatt volt):
   alacsony képsáv, kisebb cím, így a cím és a javasolt kiadás gombja a hajtás fölé kerül. */
/* A sáv 2:1 arányú, így a szélességgel együtt nő, és a kép mindkét arca minden szélességen benne marad (a 12%-os
   kivágás a második arcot elvágta, 2026-10-06); a felirat és a sötétítés telefonon az arcra esett, ott nincs. */
@media (max-width: 960px) {
  .locale-visual { min-height: 0; aspect-ratio: 2 / 1; height: auto; max-height: 46svh; }
  .locale-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 21%; }
  .locale-visual figcaption, .locale-visual::after { display: none; }
  .locale-intro h1 { font-size: clamp(32px, 9vw, 52px); line-height: .98; }
}
@media (max-width: 520px) {
  .locale-interface { padding-top: 24px; }
  .locale-intro h1 { font-size: clamp(30px, 8.6vw, 38px); }
}

/* A főcím látszik (2026-10-06, oldal-mérce): 14 kiadás kezdőlapján és 2 márkaoldalon a H1 rejtett volt (sr-only), a
   helyén a fejlécben már ott lévő logó ismétlődött. A kereső a rejtett szöveget nem tekinti az oldal üzenetének, a látogató
   pedig nem látta, miről szól az oldal. */
.cover-title { margin: 0; max-width: 16ch; font-size: clamp(32px, 2.9vw, 50px); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.brand-page-claim { display: block; margin-top: 18px; font-size: clamp(17px, 1.4vw, 22px); line-height: 1.3; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }
.brand-page-claim::first-letter { text-transform: uppercase; }
/* Kártyakép telefonon a saját arányában: a rögzített 4:5-ös dobozban a fekvő kép alatt-fölött 100 px-nyi szürke sáv volt. */
@media (max-width: 760px) {
  .review-entry-grid figure { aspect-ratio: auto; }
  .review-entry-grid figure img { height: auto; }
  .review-entry-grid .review-adfetish-entry { aspect-ratio: 16 / 9; }
}
/* emoji-képes jelek szövegként (a ↗ mellé a sablon U+FE0E-t is tesz; ez a második védvonal, ahol a böngésző ismeri) */
body { font-variant-emoji: text; }

/* A kezdőlap nyitóblokkjának mindkét linkje látszik telefonon is (2026-10-06, a külső elemzés lelete: a „Kollekciók”
   mobilon eltűnt); ha nem fér egy sorba, tördel. */
.cover-actions { flex-wrap: wrap; row-gap: 14px; }

/* Kollekció-gyűjtő (magyar) nyitóképe (2026-10-06, a külső elemzés 1. pontja, mérve): asztalon a fekvő kampánykép
   269×936-os álló sávba került (a szélesség 19%-a maradt), tableten 37%. A két kép most egymás alatt áll, így mindkettő
   közel teljes kompozícióval látszik. Telefonon a színes bevezető 500 px-es minimum-magassága az első képet a hajtás alá
   tolta (709 px): ott a kép a szöveg elé kerül (mint a többi nyitóképnél), a blokk a tartalma szerint magas. */
.collections-hero-media { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
@media (max-width: 960px) {
  .collections-hero-media { grid-template-rows: auto; aspect-ratio: auto; }
  .collections-hero-media figure { aspect-ratio: 16 / 10; }
  .collections-hero-copy { min-height: 0; }
}
@media (max-width: 620px) {
  .collections-hero-media { order: -1; }
  .collections-hero-main { aspect-ratio: 3 / 2; }
  .collections-hero-copy { padding-top: 36px; }
}

/* ===== 2026-10-06 — a tulajdonos „döntések elfogadva” (planning/JAVITASI-LISTA-2026-10-06.md) ===== */

/* (1) A kiadás-nyitókép telefonon 4:3: a 4:5-ös kép az egész első képernyőt kitöltötte, a H1 a hajtásnál volt (642 px). */
@media (max-width: 960px) {
  .locale-hero-media { aspect-ratio: 4 / 3; }
}

/* (5) Kártyák: a fekvő kép fekvő kártyát kap (a 4:5-ös dobozban a fele elveszett), az álló marad álló. A tájolást a sablon
   írja a képre (data-orientation). A generált kártyák kitöltik a dobozt, nincs szürke sáv. */
:is(.locale-card, .spread) figure:has(img[data-orientation="landscape"]) { aspect-ratio: 3 / 2; }
@media (min-width: 761px) {
  .review-entry-grid figure:has(img[data-orientation="landscape"]) { aspect-ratio: 3 / 2; }
}
.review-entry-grid figure img { object-fit: cover; object-position: center 30%; }

/* (8) A fő lépés gombnak látszik: a nyitóblokk első linkje és a bolti blokk linkje. */
.cover-actions a:first-child, .locale-actions a:first-child, .shop-bridge > a {
  display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: 12px 18px; border: 0;
  background: var(--ink, #0a0a0a); color: var(--canvas, #fff); font-size: 12px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; transition: transform .2s ease;
}
.cover-actions a:first-child:hover, .locale-actions a:first-child:hover, .shop-bridge > a:hover { transform: translateY(-1px); }
.cover-actions a:first-child:focus-visible, .locale-actions a:first-child:focus-visible, .shop-bridge > a:focus-visible {
  outline: 2px solid var(--ink, #0a0a0a); outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .cover-actions a:first-child, .locale-actions a:first-child, .shop-bridge > a { transition: none; }
}

/* (11) Címke legfeljebb minden harmadik szakasz fölött. A kártyák címkéje („ADDICTED / UNTERWÄSCHE”), a jogi oldal és a
   választó funkcionális feliratai maradnak. A számozást a sablon veszi le (ae_review_labels). */
main > section:not(:nth-of-type(3n+1)):not(.legal-section) :is(.locale-heading, .locale-copy, .brand-band-copy) > .locale-label,
main > section:not(:nth-of-type(3n+1)):not(.legal-section) .section-index:not(.legal-toc .section-index) { display: none; }
.story-chapter:not(:nth-of-type(3n+1)) .story-chapter-number { display: none; }
.cover-issue { display: none; }
/* A logó csak a fejlécben: a márkaoldal H1-e a márka neve szövegként, alatta a leírás. */
.brand-page-hero-copy h1:has(.brand-page-name) { width: auto; max-width: 100%; }
.brand-page-name { display: block; font-size: clamp(48px, 5.2vw, 80px); line-height: .9; letter-spacing: -.05em; font-weight: 700; text-wrap: balance; }

/* (10) Választóoldal: telefonon fekvő, asztalon álló termékkép (<picture>); a kép ugyanúgy tölti ki a helyét. */
.locale-visual picture { display: contents; }
/* Az ES Collection oldal fejléce (.es-wordmark) fix magasságú, levágó doboz volt a logóképhez; a szöveges név és a leírás
   a saját magasságát kapja (különben a leírás a doboz alá, a láthatatlanba csúszik). */
h1.es-wordmark:has(.brand-page-name) { width: auto; max-width: 100%; height: auto; overflow: visible; }
/* A parallax ±20 px-rel tolja a képet a dobozán belül (app.js): ráhagyás nélkül a doboz szürke háttere kilátszott. */
[data-parallax] img { scale: 1.12; }
@media (prefers-reduced-motion: reduce) { [data-parallax] img { scale: 1; } }

/* ===== Aktuális téma (Winter Pride) és bolti sáv a kezdőlapokon; kollekció-blokk a generált kezdőlapon (2026-10-06,
   lista 6., 7., 9. pont). Telefonon a kép kerül felülre; a gomb a bolti termékoldalra, a sáv a két bolti kategóriára visz. */
.ae-button {
  display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: 12px 18px; border: 0;
  background: var(--ink, #0a0a0a); color: var(--canvas, #fff); font-size: 12px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; transition: transform .2s ease;
}
.ae-button:hover { transform: translateY(-1px); }
.ae-button:focus-visible { outline: 2px solid var(--ink, #0a0a0a); outline-offset: 3px; }
.ae-now { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); background: var(--surface, #f2f4f5); }
.ae-now-image { margin: 0; overflow: hidden; }
.ae-now-image img { display: block; width: 100%; height: 100%; min-height: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: var(--now-position, 50% 55%); }
.ae-now-copy { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: clamp(32px, 4vw, 72px) var(--gutter, 24px); }
.ae-now-date { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ae-now h2 { margin: 0; font-size: clamp(30px, 3.4vw, 54px); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.ae-now-copy > p:not(.ae-now-date):not(.ae-now-actions) { margin: 0; max-width: 52ch; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.5; }
.ae-now-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin: 4px 0 0; }
.ae-shop-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; padding-top: 16px; border-top: 1px solid var(--line, rgba(10, 10, 10, .24)); font-size: 15px; }
.ae-shop-strip > span:first-child { font-weight: 700; }
.ae-shop-strip a { color: inherit; text-decoration: underline; text-underline-offset: .22em; }
.ae-now.is-strip { display: block; padding: 18px var(--gutter, 24px); }
.ae-now.is-strip .ae-shop-strip { padding-top: 0; border-top: 0; }
.ae-collection-teaser { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(24px, 4vw, 64px); padding: clamp(48px, 7vw, 100px) var(--gutter, 24px); }
.ae-collection-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ae-collection-teaser h2 { margin: 0; font-size: clamp(30px, 3.4vw, 54px); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.ae-collection-teaser p { margin: 0; max-width: 52ch; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.5; }
.ae-collection-teaser figure { margin: 0; overflow: hidden; aspect-ratio: 3 / 2; }
.ae-collection-teaser figure:has(img[data-orientation="portrait"]) { aspect-ratio: 4 / 5; max-height: 640px; }
.ae-collection-teaser img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
@media (max-width: 760px) {
  .ae-now, .ae-collection-teaser { grid-template-columns: 1fr; }
  .ae-collection-teaser figure { grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) { .ae-button { transition: none; } }
/* A blokk képe négyzetes termékfotó (fehér háttér): asztalon keskenyebb képoszlop, a fotó teljes egészében; telefonon 4:3,
   a felirat és a nyomat a kivágásban. */
.ae-now:has(.ae-now-image img[data-orientation="square"]) { background: var(--canvas, #fff); border-block: 1px solid var(--line, rgba(10, 10, 10, .24)); }
/* A két hasáb csak asztalon (2026-10-06 20:06, a tulajdonos képe: telefonon is két hasábra esett, mert ez a szabály a
   telefonos egyhasábos szabálynál erősebb volt — a hasáb 200 px-es lett, a kép csíkká vágódott). */
@media (min-width: 761px) {
  .ae-now:has(.ae-now-image img[data-orientation="square"]) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .ae-now-image img[data-orientation="square"] { aspect-ratio: 1 / 1; max-height: 640px; object-fit: contain; background: #fff; }
}
@media (max-width: 760px) {
  .ae-now-image img[data-orientation="square"] { height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; object-position: var(--now-position, 50% 40%); }
  /* telefonon a szöveg és a gomb jön előbb, a termékfotó utána: így a gomb a DE/AT kezdőlapon is az első két képernyőn
     belül van (előtte ~1525 px, a cél ≤ 1328 px; lista 7. pont) */
  .ae-now-image { order: 2; }
}

/* Sablonhibák minden nyelven (2026-10-06 20:06, a tulajdonos képei a de-at kiadásból):
   - a gomb mellett a szöveges link a gomb magasságára nyúlt (felül a felirat, alul messze az aláhúzás);
   - a kártya folyószövegében a link csupa nagybetűs címke lett (a `.locale-card a` szabály minden linkre hatott);
   - a hosszú szöveges link nem tördelt, és kilógott a képernyőből. */
.cover-actions, .locale-actions, .ae-now-actions { align-items: center; }
.locale-card p a, .shop-bridge p a { align-self: auto; margin: 0; padding: 0; border: 0; font: inherit; letter-spacing: inherit; text-transform: none; text-decoration: underline; text-underline-offset: .18em; }
.cover-actions a, .locale-actions a, .text-link, .shop-bridge a { white-space: normal; }

/* A hosszú „tovább” link mondatszerűen (a sablon `data-long`-gal jelöli; 2026-10-06, vizuális mérés). */
.text-link[data-long] { padding-bottom: 0; border-bottom: 0; font-size: 16px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: .2em; line-height: 1.4; }

/* Mondatba ágyazott link (a sablon `data-inline`-nal jelöli: a bekezdésben vagy listaelemben a linken kívül is van szöveg;
   2026-10-06, vizuális mérés 280 útvonalon). Két hiba volt:
   - a komponensek `.x a` szabálya a különálló „tovább” linkre készült, a mondat közepén 10 px-es, csupa nagybetűs címke lett
     belőle (HU ADDICTED termékvilágok, neon kollekció);
   - a történet-fejezetekben és több blokkban a link színe, vastagsága és díszítése a szövegével egyezett: nem látszott linknek.
   A mondat betűjét veszi át, a láthatóságot az aláhúzás adja (mint a .locale-card és a .shop-bridge linkjeinél). */
p a[data-inline][href], li a[data-inline][href] { display: inline; margin: 0; padding: 0; border: 0; font-size: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; text-transform: inherit; white-space: normal; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; align-self: auto; justify-self: auto; }

/* Kétoszlopos fejezet és városblokk asztalon: a kép nem nyúlik a szöveg teljes magasságára (2026-10-07, asztali vizuális
   mérés: 1440 px-en 7 oldalon, 1024 px-en további 7 oldalon a kép 24–35%-a látszott, pl. 659×1789-es dobozban). A kép a
   saját arányában a blokk tetején áll, és görgetés közben a látótérben marad. A ragadós elem rácscellában nem csúszhat ki
   a saját cellájából, így a szöveggel nem fedi egymást. Csak a mért összetevőkre; az 1000 px alatti elrendezést a saját
   telefonos szabályuk adja. */
@media (min-width: 1001px) {
  .story-chapter > .story-media:not(.contain):has(> img[data-orientation]),
  .cz-city-media:has(> img[data-orientation]), .cc-city-media:has(> img[data-orientation]),
  .ss-country-media:has(> img[data-orientation]), .ss-bratislava-media:has(> img[data-orientation]),
  .ss-arrival-media:has(> img[data-orientation]), .pp-meaning-media:has(> img[data-orientation]),
  .pp-warsaw-media:has(> img[data-orientation]), .pl-warsaw > figure:has(> img[data-orientation]),
  .rr-arrival > figure:has(> img[data-orientation]),
  .technology-chapter-photo:has(> img[data-orientation="landscape"]) {
    align-self: start; position: sticky; top: calc(var(--header) + 24px); height: auto; min-height: 0; aspect-ratio: auto;
  }
  .story-chapter > .story-media:not(.contain) > img[data-orientation],
  .cz-city-media > img[data-orientation], .cc-city-media > img[data-orientation],
  .ss-country-media > img[data-orientation], .ss-bratislava-media > img[data-orientation],
  .ss-arrival-media > img[data-orientation], .pp-meaning-media > img[data-orientation],
  .pp-warsaw-media > img[data-orientation], .pl-warsaw > figure > img[data-orientation],
  .rr-arrival > figure > img[data-orientation], .technology-chapter-photo > img[data-orientation="landscape"] {
    height: auto; position: static;
  }
}

/* A lengyel jelenet-oldal nyíl-linkje a rács közvetlen eleme: 1920 px-en a sora magasságára nyúlt (157 px, felül a
   felirat, alul messze az aláhúzás), mert mellette a kép a teljes szakaszt kitölti (2026-10-07, vizuális mérés). */
.pp-arrow { align-self: start; }

/* A megerősítésig halasztott kép (E2) helyén ne látsszon a helyettesítő szöveg, mint egy törött kép (2026-10-07). */
img[data-review-src] { visibility: hidden; }
