/* TuniVance additions on top of the design-system stylesheet. Colors come from theme/palette.mjs. */

/* Founder profile links replace the original WhatsApp/Facebook pair. */
.foot-social .fs-in { background: #087589; box-shadow: 0 8px 18px -8px #087589cc; }

/* The TuniVance mark is landscape; keep it at the original logo height without stretching. */
.logo-mark { object-fit: contain; }
.foot-mark { opacity: 1; }

/* Real TuniVance images in slots the design system filled with CSS mockups (print services). */
.mk-static .mk-photo, .sv-rel-media .mk-photo { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-raise); }
.sv-visual.sv-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-raise); }

/* TuniVance labels covers that are illustrations rather than product screenshots. */
.stage-img { position: relative; }
.cover-note { position: absolute; inset-inline-start: 14px; bottom: 14px; z-index: 2; padding: 6px 12px; border-radius: 999px; background: rgba(8, 42, 94, .78); color: #fff; font: 600 12px/1.2 var(--f-body); letter-spacing: .02em; pointer-events: none; }

/* Portfolio cases without a gallery: the cover takes one centered column instead of half the grid. */
.fitcom-stage:not(:has(.strip)) { grid-template-columns: minmax(0, 1fr); }
.fitcom-stage:not(:has(.strip)) .stage-img { width: 100%; max-width: 920px; margin-inline: auto; }
.fitcom-stage .stage-img img { display: block; width: 100%; max-height: 640px; object-fit: contain; }

/* TuniVance's hero labels are longer than the originals; let the pair wrap on narrow phones. */
@media (max-width: 430px) { .hero .btn-row .btn { flex-basis: 100%; } }

/* Arabic: the particle canvas positions itself for a left-hand copy column, so the hero grid keeps
   that geometry and only the copy itself runs right-to-left. */
@media (min-width: 901px) { [dir="rtl"] .hero .wrap { direction: ltr; } [dir="rtl"] .hero-copy { direction: rtl; text-align: right; } }

/* Arabic is a joined script: tracking (positive on labels, negative on headlines) pulls its letters apart or
   makes them collide. Arabic pages render text untracked; only the large numeric counters keep their tracking. */
html[lang="ar"] *:not(.ld-num, .ld-count, .stat-n, .stat-n *),
html[lang="ar"] *::before, html[lang="ar"] *::after { letter-spacing: 0 !important; }
