/* ═══════════════════════════════════════════════════════════════
   pages/brand-katalog.css — DIJELJENI katalog za SVE brand/naočale stranice
   (Ray-Ban, Furla, buduće). Sadržaj 1:1 prenesen iz pages/ray-ban.css —
   .ol-models* familija je brand-agnostična, nijedna klasa nije Ray-Ban-specifična.

   Master 1-styles.css OSTAJE NETAKNUT (zamrznut).
   Conditional enqueue preko ol_enqueue_styles() (functions.php §1, priority 99)
   na listi slugova: ray-ban, furla-naocale. Nova brand stranica = dodaj slug u $ol_brand_pages.
   Sve scoped pod .ol-root, tokeni iz mastera.

   ⚠️ MIGRACIJA: pages/ray-ban.css se gasi (uklonjen iz functions.php). Sadržaj je ovdje.
═══════════════════════════════════════════════════════════════ */
/* Hero — produkt fotka (master .ol-hero-img = 1:1 cover grayscale; produkt treba 16:10 contain bez filtera) */
.ol-root .ol-hero-img.is-product { aspect-ratio: 16 / 10; background: transparent; margin-inline: auto; }
.ol-root .ol-hero-img.is-product img { object-fit: contain; object-position: center; filter: none; }
/* tag unutar slike — držati ga uz donji rub, ne preko BL zlatnog kuta */
.ol-root .ol-hero-img.is-product .ol-hero-tag { left: auto; right: var(--ol-s-4); bottom: var(--ol-s-4); }
/* Katalog — premium bijeli media-blok (jedina nova komponenta) */
.ol-root .ol-models { display: grid; grid-template-columns: 1fr; gap: var(--ol-s-3); margin-top: var(--ol-s-6); }
.ol-root .ol-model { background: var(--ol-c-surface); border: 1px solid var(--ol-c-bdr-2); border-radius: var(--ol-r-1); overflow: hidden; display: flex; flex-direction: column; transition: border-color var(--ol-t-base), transform var(--ol-t-base); }
.ol-root .ol-model:hover { border-color: var(--ol-c-gold); transform: translateY(-3px); }
.ol-root .ol-model-media { aspect-ratio: 4 / 3; background: #fff; display: flex; align-items: center; justify-content: center; padding: var(--ol-s-2); }
.ol-root .ol-model-media img { width: 100%; height: 100%; object-fit: contain; }
.ol-root .ol-model-body { padding: var(--ol-s-3); display: flex; flex-direction: column; flex: 1; }
.ol-root .ol-model-name { font-family: var(--ol-ff-serif); font-size: var(--ol-fs-lg); color: var(--ol-c-white); line-height: 1.2; font-weight: 700; }
.ol-root .ol-model-code { font-size: var(--ol-fs-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--ol-c-gray-2); margin-top: 4px; }
.ol-root .ol-model-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--ol-s-2); margin-top: auto; padding-top: var(--ol-s-3); border-top: 1px solid var(--ol-c-bdr); }
.ol-root .ol-model-price { font-family: var(--ol-ff-serif); font-style: italic; font-size: var(--ol-fs-lg); color: var(--ol-c-gold); line-height: 1.1; }
.ol-root .ol-model-price small { display: block; font-family: var(--ol-ff-sans); font-style: normal; font-size: 10px; letter-spacing: .06em; color: var(--ol-c-gray-2); margin-top: 2px; }
.ol-root .ol-model-cta { font-size: var(--ol-fs-xs); letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--ol-c-white); border: 1px solid var(--ol-c-bdr-2); padding: var(--ol-s-1) var(--ol-s-2); border-radius: var(--ol-r-1); transition: background var(--ol-t-fast), color var(--ol-t-fast), border-color var(--ol-t-fast); white-space: nowrap; }
.ol-root .ol-model-cta:hover { background: var(--ol-c-gold); color: var(--ol-c-black); border-color: var(--ol-c-gold); }
.ol-root .ol-models-note { text-align: center; margin-top: var(--ol-s-4); font-size: var(--ol-fs-sm); color: var(--ol-c-gray-2); }
/* mobile 1-col → tablet/desktop 3-col (čistih redova) */
@media (min-width: 641px) { .ol-root .ol-models { grid-template-columns: repeat(3, 1fr); gap: var(--ol-s-4); } }
