/* Keep numeric contact details and mixed model/power labels together in RTL pages. */
.phone-number { direction:ltr; unicode-bidi:isolate; display:inline-block; white-space:nowrap; }
.variant-pill { direction:rtl; white-space:nowrap; }
.variant-label { display:inline-flex; direction:rtl; align-items:center; gap:4px; white-space:nowrap; }
.variant-pill bdi { display:inline-block; unicode-bidi:isolate; white-space:nowrap; }
.card-hp-val { direction:ltr; unicode-bidi:isolate; }

/* Compact catalogue library: a cover, group name and two direct actions. */
.catalog-toolbar { display:flex; gap:16px; align-items:center; margin-bottom:24px; }
#catalogCategory { width:230px; flex-shrink:0; }
.catalog-search-box { flex:1; }
.catalogs-compact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.catalog-entry { display:flex; align-items:center; gap:20px; padding:22px; background:var(--bg-card); border:1px solid var(--border-color); border-radius:16px; }
.catalog-thumbnail { background:transparent; border:0; padding:0; cursor:pointer; flex:0 0 74px; }
.catalog-thumbnail img { display:block; width:74px; height:104px; object-fit:cover; border-radius:5px; }
.catalog-entry-info { min-width:0; }
.catalog-entry h3 { font-size:16px; line-height:1.7; margin:0 0 5px; color:var(--text-main); }
.catalog-entry p { color:var(--text-muted); font-size:12px; margin:0 0 12px; }
.catalog-entry-actions { display:flex; gap:8px; flex-wrap:wrap; }
.catalog-entry-actions .btn { padding:7px 14px; }
.catalog-help { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:30px 0 12px; font-size:13px; color:var(--text-muted); }
.catalog-help a { color:var(--primary); font-weight:700; }
@media(max-width:700px) {
  .catalog-toolbar { flex-direction:column; align-items:stretch; }
  #catalogCategory { width:100%; }
  .catalogs-compact { grid-template-columns:1fr; }
  .catalog-entry { padding:18px; gap:16px; }
}

.home-catalogs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-catalogs .catalog-entry { padding:18px; gap:14px; }
@media(max-width:1050px) {
  .home-catalogs { grid-template-columns:1fr; }
}

/* Responsive art-directed hero: keep the photograph separate from readable copy. */
.cinema-hero { position:relative; isolation:isolate; overflow:hidden; background:#002c30; color:#fff; min-height:calc(100svh - var(--masthead-height,130px)); display:grid; grid-template-rows:1fr auto; }
.cinema-hero-media { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.cinema-hero-image { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:left center; }
.cinema-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(270deg,#002326f5 0%,#00292cdd 24%,#00292c88 39%,transparent 60%),linear-gradient(0deg,#00191ccc,transparent 24%); }
.cinema-hero-layout { position:relative; display:flex; align-items:center; padding-top:clamp(28px,5vh,65px); padding-bottom:clamp(28px,5vh,65px); }
.cinema-hero-copy { width:40%; min-width:0; max-width:570px; }
.cinema-hero-eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#c3d8d7; font-size:11px; font-weight:500; }
.cinema-hero-eyebrow > span:first-child { width:6px; height:6px; border-radius:50%; background:#ffad28; box-shadow:0 0 0 5px #ffad2810; }
.cinema-hero-eyebrow-rule { width:26px; height:1px; background:#ffffff40; }
.cinema-hero-intro { font-size:13px; color:#d2e4e3; margin:clamp(20px,3vh,35px) 0 12px; }
.cinema-hero-copy h1 { color:#fff; font-size:clamp(30px,3.35vw,57px); font-weight:900; line-height:1.55; letter-spacing:-1.3px; margin:0 0 22px; }
.cinema-hero-copy h1 > span { color:#ffae32; }
.cinema-hero-description { color:#bdd1d0; font-size:clamp(12px,.95vw,14px); line-height:2.1; max-width:420px; margin:0 0 26px; }
.cinema-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.cinema-hero-actions .btn { border-radius:8px; gap:18px; padding:15px 20px; font-size:13px; background:#ffa614; color:#002f33; box-shadow:0 8px 35px #ff9c0017; white-space:normal; }
.cinema-hero-actions .btn:hover { background:#ffba45; transform:translateY(-2px); }
.cinema-hero-actions svg { flex-shrink:0; }
.cinema-hero-contact { display:inline-flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #ffffff45; color:#fff; font-size:12px; }
.cinema-hero-contact:hover { color:#ffae32; border-color:#ffae32; }
.cinema-hero-guarantee { margin-top:27px; display:flex; align-items:center; gap:10px; color:#a8c4c2; font-size:10px; }
.cinema-hero-guarantee svg { color:#dcaa58; flex-shrink:0; }
.cinema-hero-guarantee i { margin:0 7px; color:#719c99; font-style:normal; }
.cinema-hero-art-label { position:absolute; left:20px; bottom:25px; color:#fff; text-shadow:0 2px 18px #001c20; }
.cinema-hero-art-label strong { display:block; font:italic 900 30px Arial,sans-serif; letter-spacing:4px; }
.cinema-hero-art-label > span { display:block; margin-top:7px; font:7px Arial,sans-serif; letter-spacing:2px; color:#bdd2ce; }
.cinema-hero-bottom { background:#00272b45; border-top:1px solid #ffffff1c; }
.cinema-hero-bottom-inner { display:flex; align-items:center; justify-content:space-between; min-height:68px; gap:16px; padding-top:14px; padding-bottom:14px; }
.cinema-hero-caption { display:flex; align-items:center; gap:12px; color:#b9cecd; font-size:11px; }
.cinema-hero-caption > span { color:#eab66c; font:10px Arial,sans-serif; direction:ltr; }
.cinema-hero-scroll { display:inline-flex; align-items:center; gap:12px; font-size:10px; color:#dbe7e6; }
.cinema-hero-scroll svg { color:#ffae32; flex-shrink:0; }
.cinema-hero-catalog { display:inline-flex; gap:18px; align-items:center; font-size:11px; color:#e5eeed; }
.cinema-hero-catalog:hover,.cinema-hero-scroll:hover { color:#ffae32; }
.cinema-hero a:focus-visible { outline:3px solid #ffae32; outline-offset:5px; }
#homeCategories { padding-top:35px !important; scroll-margin-top:100px; }
/* Below laptop width, copy and photo occupy different rows, never overlapping.
   The image keeps its native ratio; only empty space on its right is trimmed. */
@media(max-width:1100px) {
  .cinema-hero { grid-template-rows:auto auto auto; }
  .cinema-hero-layout { grid-row:1; padding-top:32px; padding-bottom:26px; justify-content:center; }
  .cinema-hero-copy { width:100%; max-width:640px; text-align:center; }
  .cinema-hero-eyebrow,.cinema-hero-actions,.cinema-hero-guarantee { justify-content:center; }
  .cinema-hero-intro { margin-top:21px; }
  .cinema-hero-copy h1 { font-size:clamp(32px,4.5vw,48px); line-height:1.45; margin-bottom:16px; }
  .cinema-hero-description { max-width:560px; margin:0 auto 22px; font-size:13px; }
  .cinema-hero-guarantee { margin-top:20px; }
  .cinema-hero-media { grid-row:2; position:relative; inset:auto; z-index:-1; width:100%; max-width:760px; margin:auto; aspect-ratio:1.15; }
  .cinema-hero-image { inset:auto; top:0; left:0; width:155%; max-width:none; height:auto; object-fit:contain; }
  .cinema-hero-shade { background:linear-gradient(0deg,#002c30 0%,transparent 12%); pointer-events:none; }
  .cinema-hero-art-label { display:none; }
  .cinema-hero-bottom { grid-row:3; }
  .cinema-hero-caption { font-size:10px; }
}
@media(max-width:600px) {
  .cinema-hero-layout { padding-top:26px; padding-bottom:22px; }
  .cinema-hero-copy h1 { font-size:clamp(28px,7.7vw,42px); letter-spacing:-.8px; }
  .cinema-hero-eyebrow { font-size:10px; gap:9px; }
  .cinema-hero-description { font-size:12px; line-height:1.95; }
  .cinema-hero-actions { gap:12px 20px; }
  .cinema-hero-actions .btn { font-size:12px; padding:13px 16px; gap:12px; }
  .cinema-hero-contact { font-size:11px; min-height:44px; }
  .cinema-hero-guarantee { font-size:9px; gap:7px; }
  .cinema-hero-guarantee i { margin:0 4px; }
  .cinema-hero-bottom-inner { min-height:60px; }
  .cinema-hero-caption { display:none; }
  .cinema-hero-catalog { font-size:10px; gap:9px; }
}
@media(min-width:1101px) and (max-height:720px) {
  .cinema-hero-layout { padding-top:24px; padding-bottom:24px; }
  .cinema-hero-copy h1 { font-size:clamp(29px,3vw,45px); margin-bottom:14px; }
  .cinema-hero-intro { margin-top:17px; }
  .cinema-hero-description { margin-bottom:18px; }
  .cinema-hero-guarantee { margin-top:18px; }
  .cinema-hero-art-label { bottom:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .cinema-hero-actions .btn { transition:none; }
}
