* { margin:0; padding:0; box-sizing:border-box; }
:root, [data-theme="dark"] {
  --bg:#0a0f16; --bg-alt:#070c12; --card:#111b27; --card-alt:#0c141d;
  --border:#1e2c3b; --border-soft:#274056; --hair:#152230;
  --text:#eef3f8; --text-soft:#b8c6d4; --muted:#93a4b5; --muted2:#7f92a4; --faint:#5f7285; --faint2:#4d5f72;
  --chip:#0f2233; --pill:#111b27; --deco:#1c3348; --header:rgba(10,15,22,0.86); --stripe:rgba(255,255,255,0.02);
  --accent:#0b93e0; --accent-strong:#023069; --accent-15:rgba(11,147,224,0.18); --on-accent:#ffffff;
}
[data-theme="light"] {
  --bg:#f1f6fb; --bg-alt:#e5eef6; --card:#ffffff; --card-alt:#e9f1f9;
  --border:#d7e3ef; --border-soft:#c6d6e5; --hair:#e2ebf3;
  --text:#0b2138; --text-soft:#375069; --muted:#54708b; --muted2:#6d879f; --faint:#8ba0b4; --faint2:#a9bccd;
  --chip:#e7f2fb; --pill:#ffffff; --deco:#cfdcea; --header:rgba(241,246,251,0.88); --stripe:rgba(3,48,105,0.04);
  --accent:#0b93e0; --accent-strong:#023069; --accent-15:rgba(11,147,224,0.16); --on-accent:#ffffff;
}
body { background:var(--bg); transition:background .3s ease; }
body.menu-open { overflow:hidden; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.site-brand-ticker {
  border-bottom:1px solid var(--hair); background:var(--bg-alt); overflow:hidden;
}
.site-brand-ticker__track {
  display:flex; width:max-content; animation:ticker 28s linear infinite;
}
.site-brand-ticker__group {
  display:flex; align-items:center; gap:54px; padding:16px 27px;
}
.site-brand-ticker__item {
  font-family:'IBM Plex Mono',monospace; font-size:15px; color:var(--faint);
  letter-spacing:.08em; white-space:nowrap;
}
@keyframes rise { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
@keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
::selection { background:var(--accent); color:#ffffff; }
.homepage-root { font-family:'Tajawal',sans-serif; background:var(--bg); color:var(--text); min-height:100vh; overflow-x:hidden; position:relative; transition:background .3s ease, color .3s ease; }
[data-reveal][data-shown="1"] { animation:reveal-in .6s cubic-bezier(.2,.7,.2,1) both; }
@keyframes reveal-in { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) {
  [data-reveal][data-shown="1"] { animation:none; }
}

/* Top bar */
.site-topbar { background:var(--bg-alt); border-bottom:1px solid var(--hair); font-size:13px; color:var(--muted); }
.site-topbar__inner { max-width:1240px; margin:0 auto; padding:9px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.site-topbar__meta { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.site-topbar__item { display:flex; align-items:center; gap:7px; }
.site-topbar__dot { width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block; }
.site-topbar__link { font-family:'IBM Plex Mono',monospace; letter-spacing:.02em; color:inherit; text-decoration:none; }
.site-topbar__actions { display:flex; align-items:center; gap:18px; }
.site-topbar__phone { font-family:'IBM Plex Mono',monospace; color:var(--text); text-decoration:none; }
.site-topbar__sep { width:1px; height:14px; background:var(--border-soft); }
.site-topbar__socials { display:flex; gap:12px; }
.site-topbar__social { color:var(--muted); text-decoration:none; }

/* Header chrome (search bar + header) */
.site-chrome { position:sticky; top:0; z-index:50; }
.site-search-bar {
  position:relative; z-index:5;
  background:var(--header); border-bottom:1px solid var(--hair);
  backdrop-filter:blur(12px);
}
.site-search-bar__inner {
  max-width:1240px; margin:0 auto; padding:10px 28px;
}
.site-search-bar__row {
  display:flex; align-items:center; gap:12px;
}
.site-toolbar-actions {
  display:flex; align-items:center; gap:10px; flex-shrink:0;
}
.site-toolbar-actions--search { display:none; }
@media (min-width: 981px) {
  .site-toolbar-actions--search { display:flex; }
  .site-toolbar-actions--header { display:none; }
}
.site-search-bar__row .site-header-search {
  flex:1; min-width:0; max-width:none; margin:0;
}
.site-header { position:relative; z-index:4; background:var(--header); backdrop-filter:blur(12px); border-bottom:1px solid var(--hair); }
.site-header__inner { max-width:1240px; margin:0 auto; padding:12px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-header__brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; min-width:0; }
.site-header__logo { height:46px; width:auto; display:block; flex-shrink:0; }
.site-header__titles { line-height:1.15; min-width:0; }
.site-header__name { font-weight:900; font-size:19px; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-header__name-en { font-size:11px; color:var(--muted2); font-family:'IBM Plex Mono',monospace; letter-spacing:.02em; line-height:1.35; white-space:normal; text-align:right; }
.site-nav--desktop { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.site-nav__link { color:var(--text-soft); text-decoration:none; font-weight:500; font-size:15px; padding:9px 13px; border-radius:9px; transition:color .2s ease, background .2s ease; }
.site-nav__link:hover { color:var(--text); background:var(--chip); }
.site-nav__link.is-active { color:var(--text); font-weight:700; }
.site-header__actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.site-icon-btn { cursor:pointer; display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:var(--chip); border:1px solid var(--border); color:var(--text); padding:0; border-radius:10px; }
.site-header__cart { position:relative; text-decoration:none; color:inherit; }
.site-header__cart.is-active { border-color:var(--accent, #c9a227); }
.site-header__cart-icon { display:block; }
.site-header__cart-badge { position:absolute; top:-4px; inset-inline-start:-4px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--accent, #c9a227); color:#fff; font-size:11px; font-weight:800; line-height:18px; text-align:center; font-family:'IBM Plex Mono',monospace; }
.site-icon-btn__icon { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; }
.site-header__cta { background:var(--accent); color:var(--on-accent); text-decoration:none; font-weight:800; font-size:14px; padding:12px 18px; border-radius:10px; white-space:nowrap; }

/* Header product search */
.site-header-search { position:relative; width:100%; max-width:720px; margin:0 auto; }
.site-header-search__field { position:relative; }
.site-header-search__label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.site-header-search__input {
  width:100%; height:44px; padding-inline:14px 42px; border-radius:12px;
  border:1px solid var(--border); background:#fff; color:var(--text);
  font-size:14px; font-weight:600; transition:border-color .2s ease, box-shadow .2s ease;
}
.site-header-search__input::placeholder { color:var(--muted2); font-weight:500; }
.site-header-search__input:focus {
  outline:none; border-color:var(--accent-15); background:#fff;
  box-shadow:0 0 0 3px var(--accent-10);
}
.site-header-search__icon {
  position:absolute; top:50%; inset-inline-end:14px; transform:translateY(-50%);
  color:var(--muted); pointer-events:none;
}
.site-header-search__panel {
  position:absolute; top:calc(100% + 8px); inset-inline:0; z-index:120;
  background:var(--card); border:1px solid var(--border); border-radius:16px;
  box-shadow:0 18px 40px rgba(15,35,55,.12); overflow:hidden;
}
.site-header-search__status {
  padding:12px 16px; font-size:13px; color:var(--muted); border-bottom:1px solid var(--hair);
}
.site-header-search__results { list-style:none; margin:0; padding:6px; max-height:min(60vh, 360px); overflow:auto; }
.site-header-search__result {
  display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center;
  padding:10px 12px; border-radius:12px; text-decoration:none; color:inherit;
  transition:background .18s ease;
}
.site-header-search__result:hover,
.site-header-search__result.is-active { background:var(--chip); }
.site-header-search__thumb {
  width:52px; height:52px; border-radius:10px; object-fit:cover; background:var(--bg-alt);
  border:1px solid var(--hair);
}
.site-header-search__thumb--empty {
  display:flex; align-items:center; justify-content:center; color:var(--muted);
}
.site-header-search__meta { min-width:0; }
.site-header-search__name {
  font-size:14px; font-weight:800; line-height:1.4; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.site-header-search__sku { font-size:11px; color:var(--muted); margin-top:4px; font-family:'IBM Plex Mono',monospace; }
.site-header-search__price {
  font-size:13px; font-weight:800; color:var(--accent); white-space:nowrap;
}
.site-header-search__view-all {
  display:block; padding:12px 16px; text-align:center; text-decoration:none;
  font-size:13px; font-weight:800; color:var(--accent); border-top:1px solid var(--hair);
  background:var(--bg-alt);
}
.site-header-search__view-all:hover { background:var(--chip); }

.site-menu-toggle { display:none; cursor:pointer; width:42px; height:42px; align-items:center; justify-content:center; background:var(--chip); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:0; }
.site-menu-toggle__bars { display:flex; flex-direction:column; gap:5px; width:18px; }
.site-menu-toggle__bars span { display:block; height:2px; width:100%; background:currentColor; border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__bars span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__bars span:nth-child(2) { opacity:0; }
.site-menu-toggle[aria-expanded="true"] .site-menu-toggle__bars span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile drawer (RTL: from right) */
.site-drawer-overlay { position:fixed; inset:0; z-index:60; background:rgba(5,10,18,.55); opacity:0; pointer-events:none; transition:opacity .25s ease; }
.site-drawer-overlay.is-open { opacity:1; pointer-events:auto; }
.site-drawer {
  position:fixed; top:0; bottom:0; right:0; z-index:70;
  width:min(86vw, 320px); background:var(--card); border-left:1px solid var(--border);
  box-shadow:-18px 0 50px rgba(0,0,0,.28);
  transform:translateX(105%); transition:transform .28s cubic-bezier(.2,.7,.2,1);
  display:flex; flex-direction:column; padding:18px 18px 24px;
}
.site-drawer.is-open { transform:translateX(0); }
.site-drawer__head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.site-drawer__brand { display:flex; align-items:center; gap:10px; min-width:0; }
.site-drawer__logo { height:36px; width:auto; display:block; flex-shrink:0; }
.site-drawer__titles { min-width:0; }
.site-drawer__title { font-weight:800; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-drawer__title-en { margin-top:2px; font-size:11px; line-height:1.35; color:var(--muted2); font-family:'IBM Plex Mono',monospace; text-align:right; }
.site-drawer__nav { display:flex; flex-direction:column; gap:6px; flex:1; overflow:auto; }
.site-drawer__link {
  color:var(--text-soft); text-decoration:none; font-weight:600; font-size:16px;
  padding:13px 14px; border-radius:12px; border:1px solid transparent; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.site-drawer__link:hover, .site-drawer__link.is-active { background:var(--chip); color:var(--text); border-color:var(--border); }
.site-drawer__footer { margin-top:18px; padding-top:16px; border-top:1px solid var(--hair); }
.site-drawer__cta {
  display:flex; align-items:center; justify-content:center;
  background:var(--accent); color:var(--on-accent); text-decoration:none;
  font-weight:800; font-size:15px; padding:14px 16px; border-radius:12px;
}

.site-section-pad { max-width:1240px; margin:0 auto; padding:clamp(40px,8vw,82px) clamp(14px,4vw,28px); }
.site-section-title { font-size:clamp(26px,6vw,38px); font-weight:900; margin-top:12px; letter-spacing:-.02em; }
.site-hero__subtitle { font-size:clamp(16px,4vw,19px); line-height:1.7; color:var(--muted); margin:20px 0 0; max-width:520px; }
.site-hero__actions { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.site-hero__actions a { flex:1 1 auto; min-width:min(100%, 200px); text-align:center; justify-content:center; }
.site-hero__stats { display:flex; gap:30px; margin-top:40px; flex-wrap:wrap; }
.site-hero__stat-sep { width:1px; background:var(--border); align-self:stretch; min-height:48px; }
.site-hero__media {
  aspect-ratio:4/5; border-radius:20px; overflow:visible; position:relative;
  display:flex; align-items:center; justify-content:center;
}
.site-hero__media img {
  width:100%; height:auto; object-fit:contain; border-radius:13px;
}
.site-why-us__video-frame iframe,
.site-youtube-lite {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:16px;
  background:#000;
}
.site-youtube-lite {
  position:relative;
  cursor:pointer;
  padding:0;
  overflow:hidden;
}
.site-youtube-lite__poster {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.site-youtube-lite__play {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.28);
  color:#fff;
  transition:background .2s ease;
}
.site-youtube-lite:hover .site-youtube-lite__play,
.site-youtube-lite:focus-visible .site-youtube-lite__play {
  background:rgba(0,0,0,.4);
}
.site-youtube-lite__play svg {
  width:64px;
  height:64px;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.35));
}

.home-scroll-carousel { position:relative; }
.home-scroll-carousel__track {
  display:flex;
  gap:var(--carousel-gap, 20px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  direction:rtl;
  padding:4px 0 8px;
}
.home-scroll-carousel__track::-webkit-scrollbar { display:none; }
.home-scroll-carousel__item {
  flex:0 0 var(--carousel-item-width, 100%);
  scroll-snap-align:start;
  min-width:0;
}
.home-scroll-carousel--products {
  --carousel-item-width:calc(100% - 56px);
  --carousel-gap:14px;
}
.home-scroll-carousel--clients {
  --carousel-item-width:calc(50% - 5px);
  --carousel-gap:10px;
}
.home-offers {
  width:100%;
  --offers-frame-height:550px;
  padding:clamp(18px, 3vw, 28px) clamp(14px, 4vw, 28px);
  background:var(--bg);
  border-bottom:1px solid var(--hair);
}
.home-offers__container {
  max-width:1240px;
  margin:0 auto;
}
.home-offers-slider__viewport {
  overflow:hidden;
}
.home-offers-slider__track {
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  direction:rtl;
  padding:2px 0 4px;
}
.home-offers-slider__track::-webkit-scrollbar {
  display:none;
}
.home-offers-slider__slide {
  flex:0 0 calc(100% - 56px);
  scroll-snap-align:start;
  min-width:0;
}
.home-offers__frame {
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--hair);
  box-shadow:0 12px 32px rgba(2, 48, 105, 0.12), 0 2px 8px rgba(2, 48, 105, 0.06);
  background:var(--chip);
}
.home-offers__link {
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.home-offers__picture {
  display:block;
  width:100%;
  height:100%;
}
.home-offers__image {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:cover;
  object-position:center;
}
.home-offers-slider__dots {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:14px;
}
.home-offers-slider__dot {
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--faint2);
  cursor:pointer;
  transition:width .25s ease, background-color .25s ease, opacity .25s ease;
}
.home-offers-slider__dot.is-active,
.home-offers-slider__dot[aria-selected="true"] {
  width:26px;
  background:var(--accent);
}
.home-offers-slider__dot:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media (min-width:641px) {
  .home-offers-slider__slide {
    flex-basis:calc(100% - 84px);
  }
  .home-offers-slider__track {
    gap:16px;
  }
}
@media (max-width:640px) {
  .home-offers {
    --offers-frame-height:clamp(220px, 52vw, 320px);
    padding:14px 14px 18px;
  }
  .home-offers__frame {
    border-radius:12px;
  }
  .home-offers-slider__slide {
    flex-basis:calc(100% - 44px);
  }
}
@media (min-width:641px) {
  .home-scroll-carousel--products {
    --carousel-item-width:calc(50% - 8px);
    --carousel-gap:16px;
  }
}
@media (min-width:981px) {
  .home-scroll-carousel--products {
    --carousel-item-width:calc(25% - 15px);
    --carousel-gap:20px;
  }
  .home-scroll-carousel--clients {
    --carousel-item-width:calc(16.666% - 12px);
    --carousel-gap:14px;
  }
}

.site-why-us__intro {
  gap:clamp(24px, 4vw, 40px);
  align-items:center;
  margin-bottom:clamp(40px, 6vw, 64px);
}
.site-why-us__title {
  font-size:clamp(28px, 5vw, 40px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0;
}
.site-why-us__description {
  color:var(--muted);
  line-height:1.8;
  margin:18px 0 0;
  font-size:clamp(15px, 2.5vw, 17px);
}
.site-why-us__video-frame {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:var(--card-alt);
}
.site-why-us__video-frame iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.site-why-us__benefits-header {
  text-align:center;
  max-width:640px;
  margin:0 auto 48px;
}
.site-why-us__label {
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  color:var(--accent);
  letter-spacing:.14em;
}
.site-why-us__subtitle { margin-top:12px; }
.site-why-us__card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:30px;
}
.site-why-us__card-icon {
  width:48px;
  height:48px;
  border-radius:12px;
  background:var(--chip);
  border:1px solid var(--accent-15);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.site-why-us__card-icon-dot {
  width:18px;
  height:18px;
  border-radius:50%;
  border:3px solid var(--accent);
}
.site-why-us__card-title {
  font-size:20px;
  font-weight:800;
  margin:0;
}
.site-why-us__card-description {
  color:var(--muted);
  line-height:1.7;
  margin-top:8px;
  font-size:15px;
}
.site-hero__float-card {
  position:absolute; bottom:18px; right:18px; background:var(--card); border:1px solid var(--border-soft);
  border-radius:14px; padding:14px 16px; box-shadow:0 16px 40px rgba(0,0,0,0.35); animation:floaty 5s ease-in-out infinite;
}
.site-footer { border-top:1px solid var(--hair); background:var(--bg-alt); }
.site-footer__inner {
  max-width:1240px; margin:0 auto; padding:clamp(40px,8vw,60px) clamp(14px,4vw,28px) 30px;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(24px,5vw,40px);
}
.site-footer__col { min-width:0; }
.site-footer__payments { border-top:1px solid var(--hair); }
.site-footer__payments-inner {
  max-width:1240px; margin:0 auto; padding:16px clamp(14px,4vw,28px);
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.site-footer__payments-label { font-size:14px; font-weight:800; color:var(--text); }
.site-footer__payments-list { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.site-footer__payments-method { font-size:14px; font-weight:700; color:var(--text); }
.site-footer__legal {
  max-width:1240px; margin:0 auto; padding:22px clamp(14px,4vw,28px) 18px;
  border-top:1px solid var(--hair);
  font-size:13px; color:var(--muted2); line-height:1.8; text-align:center;
}
.site-footer__legal-block + .site-footer__legal-block { margin-top:14px; }
.site-footer__legal-name,
.site-footer__legal-line,
.site-footer__legal-ids,
.site-footer__legal-note { margin:0; }
.site-footer__legal-name { font-weight:800; color:var(--text); }
.site-footer__legal-ids {
  display:flex; justify-content:center; align-items:baseline; flex-wrap:nowrap; gap:0.35em 0.7em;
}
.site-footer__legal-id,
.site-footer__legal-sep { white-space:nowrap; }
.site-footer__legal-id { unicode-bidi:isolate; }
.site-footer__legal-note { margin-top:12px; }
.site-footer__bar {
  border-top:1px solid var(--hair);
}
.site-footer__bar-inner {
  max-width:1240px; margin:0 auto; padding:20px clamp(14px,4vw,28px);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:13px; color:var(--faint);
}
.site-footer__contact { display:flex; flex-direction:column; gap:10px; font-size:14px; }
.site-footer__contact-link {
  color:var(--muted2); font-family:'IBM Plex Mono',monospace; text-decoration:none;
  transition:color .2s ease;
}
.site-footer__contact-link:hover { color:var(--accent); }
.site-footer__contact-link--whatsapp { color:var(--accent); font-family:'Tajawal',sans-serif; font-weight:700; }
.site-footer__contact-text { color:var(--muted2); }
.site-footer__socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.site-footer__social {
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--border-soft); background:var(--card); color:var(--text);
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; transition:border-color .2s ease, color .2s ease, transform .2s ease, background .2s ease;
}
.site-footer__social:hover {
  border-color:var(--accent); color:var(--accent); background:var(--accent-15); transform:translateY(-2px);
}
.site-cta-wrap { max-width:1240px; margin:clamp(40px,8vw,82px) auto; padding:0 clamp(14px,4vw,28px); }
.site-cta-box {
  position:relative; overflow:hidden; border-radius:26px;
  background:linear-gradient(120deg,#0b93e0,#023069);
  padding:clamp(32px,6vw,56px) clamp(20px,5vw,48px);
}
.site-cta-body { position:relative; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.site-cta-title { font-size:clamp(26px,6vw,36px); font-weight:900; color:#ffffff; letter-spacing:-.02em; line-height:1.15; }
.site-cta-actions { display:flex; flex-direction:column; gap:12px; min-width:min(100%, 220px); flex:1 1 220px; }
.site-floating-whatsapp {
  position:fixed; bottom:max(24px, env(safe-area-inset-bottom)); left:max(24px, env(safe-area-inset-left));
  z-index:55; width:58px; height:58px; border-radius:50%; background:#25D366;
  box-shadow:0 10px 30px rgba(37,211,102,0.4); display:flex; align-items:center; justify-content:center;
}
body.menu-open .site-floating-whatsapp { display:none; }

@media (max-width: 980px) {
  .site-nav--desktop { display:none; }
  .site-menu-toggle { display:inline-flex; }
  .site-header__cta { display:none; }
  .site-search-bar__inner { padding:8px 16px; }
  .site-header__inner { padding:10px 16px; gap:12px; }
  .site-header__brand { min-width:0; flex:1; }
  .site-header__name { font-size:clamp(14px,4vw,16px); }
  .site-header__name-en { font-size:10px; }
  .site-header__logo { height:40px; }
  .site-topbar__inner { padding:8px 16px; gap:10px; }
  .public-grid--hero,
  .site-hero__grid { grid-template-columns:1fr !important; gap:28px !important; }
  .site-hero__grid { padding:40px 16px 48px !important; }
  .public-grid--2col,
  .public-grid--cta,
  .site-cta-body { grid-template-columns:1fr !important; }
  .public-grid--cards,
  .public-grid--services,
  .public-grid--steps,
  .public-grid--articles,
  .public-grid--clients { grid-template-columns:1fr !important; }
  .public-grid--products { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
  .catalog-subcategories__grid.public-grid--cards { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
  .site-hero__stat-sep { display:none; }
  .site-hero__float-card { position:static; margin-top:14px; animation:none; width:100%; }
  .catalog-layout { display:block !important; padding-top:18px; }
  .catalog-sidebar__card { position:static; }
  .catalog-sidebar__toggle { display:flex; }
  .catalog-sidebar:not(.is-open) .catalog-sidebar__card { display:none; }
  .catalog-article-card--featured { grid-template-columns:1fr; }
  .catalog-product-detail,
  .public-grid--product-detail { grid-template-columns:1fr !important; }
  .catalog-product-detail__gallery { max-width:none; margin:0 auto; padding:12px; }
  .catalog-product-detail__info { padding:16px; }
  .catalog-product-body { padding:8px; }
  .catalog-related { padding:16px; }
  .catalog-article-page__header { padding:16px; }
  .catalog-article-page__content { padding:16px; }
  .catalog-article-page__hero { padding:10px; }
  .catalog-product-detail__thumbs {
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    padding-bottom:4px; scrollbar-width:thin; max-width:100%;
  }
  .catalog-product-detail__thumb { width:64px; height:64px; }
  .catalog-product-detail__cta { width:100%; justify-content:center; }
  .catalog-product-detail__image-badge { top:10px; right:10px; font-size:11px; padding:7px 12px; }
  .catalog-toolbar__inner { flex-direction:column; align-items:stretch; }
  .catalog-toolbar__sort label { width:100%; justify-content:space-between; }
  .catalog-toolbar__sort select { flex:1; min-width:0; max-width:100%; }
  .catalog-category-hero__content { flex-direction:column; align-items:flex-start; }
  .catalog-category-hero__media { width:min(100%, 180px); margin:0 auto; }
  .catalog-related-carousel .owl-nav { display:none; }
  .home-bestseller-carousel .owl-nav { display:none; }
  .site-drawer { width:min(92vw,340px); padding-bottom:max(24px, env(safe-area-inset-bottom)); }
  .site-footer__inner { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .catalog-page-header__inner { padding-block:22px; }
  .catalog-sidebar__title { display:none; }
}

@media (max-width: 640px) {
  .site-topbar__meta .site-topbar__link { display:none; }
  .site-topbar__meta .site-topbar__item { display:none; }
  .site-topbar__socials { display:none; }
  .site-topbar__sep { display:none; }
  .site-topbar__inner { justify-content:center; }
  .site-header__actions { gap:8px; }
  .site-icon-btn, .site-menu-toggle { width:40px; height:40px; }
  .catalog-grid,
  .public-grid--products { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:12px; }
  .catalog-articles__grid:not(.catalog-related-articles) { grid-template-columns:1fr !important; }
  .site-footer__inner { grid-template-columns:1fr; }
  .site-footer__legal-ids { font-size:12px; gap:0.25em 0.45em; }
  .catalog-product-detail__title { font-size:clamp(22px,6vw,28px); }
  .catalog-product-detail__amount { font-size:28px; }
  .catalog-product-accordion__trigger { font-size:16px; padding:16px 18px; min-height:48px; }
  .faqs-page__ask { padding:20px 16px; margin-top:32px; }
  .faqs-page__ask-title { font-size:20px; }
  .faqs-page__ask-subtitle { font-size:16px; }
  .policy-page__section-body { font-size:15px; line-height:1.85; }
  .site-brand-ticker__group { gap:36px; padding:12px 18px; }
  .site-brand-ticker__item { font-size:13px; }
  .catalog-product-accordion__panel { padding:0 16px 18px; }
  .catalog-product-accordion__description { padding:14px 16px; font-size:15.5px; line-height:1.9; }
  .catalog-product-detail__excerpt { font-size:14.5px; padding:12px 14px; }
  .catalog-pagination__meta { display:none; }
  .catalog-pagination__mobile { display:block; }
  .catalog-pagination__pages { display:none; }
  .catalog-pagination__controls { justify-content:space-between; }
  .catalog-pagination__arrow { flex:1; justify-content:center; max-width:calc(50% - 6px); }
  .catalog-product-specs__row { grid-template-columns:1fr; gap:6px; }
  .catalog-article-page__title { font-size:clamp(24px,6vw,36px); }
  .catalog-article-page__content { font-size:16px; }
  .catalog-article-page__meta { gap:8px; font-size:12px; }
  .site-footer__bar-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 480px) {
  .site-brand-ticker__group { gap:32px; padding:12px 16px; }
  .site-brand-ticker__item { font-size:13px; }
  .catalog-subcategories__grid.public-grid--cards { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:10px; }
  .catalog-subcategory-card { padding:12px; }
  .catalog-subcategory-card__name { font-size:13px; }
  .catalog-subcategory-card__desc { font-size:11px; -webkit-line-clamp:2; }
  .catalog-grid,
  .public-grid--products { gap:10px; }
  .catalog-product-card__name { font-size:14px; }
  .catalog-product-card__body { padding:12px; }
  .catalog-product-card__amount { font-size:18px; }
  .catalog-product-card__spec { font-size:11px; }
  .catalog-product-card__tag { font-size:10px; padding:3px 8px; top:8px; right:8px; }
  .catalog-page-header__title { font-size:clamp(24px,7vw,32px); }
  .catalog-toolbar { padding-top:14px; }
}

/* Nav dropdown */
.site-nav__dropdown { position:relative; }
.site-nav__link--dropdown { display:inline-flex; align-items:center; gap:6px; }
.site-nav__chevron { transition:transform .2s ease; }
.site-nav__dropdown.is-open .site-nav__chevron { transform:rotate(180deg); }
.site-nav__menu {
  position:absolute; top:calc(100% + 8px); right:0; min-width:260px; max-width:320px;
  overflow:visible;
  background:var(--card); border:1px solid var(--border-soft); border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.18); padding:8px; opacity:0; visibility:hidden;
  transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:80;
}
.site-nav__dropdown.is-open .site-nav__menu { opacity:1; visibility:visible; transform:none; }
.site-nav__menu-item { position:relative; }
.site-nav__menu-link {
  display:block; color:var(--text-soft); text-decoration:none; font-weight:600; font-size:14px;
  padding:10px 12px; border-radius:10px; transition:background .2s ease, color .2s ease;
}
.site-nav__menu-link:hover { background:var(--chip); color:var(--text); }
.site-nav__menu-link--has-sub {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-weight:700; color:var(--text);
}
.site-nav__sub-chevron { flex-shrink:0; color:var(--muted2); transition:transform .2s ease; }
.site-nav__menu-item.is-open > .site-nav__menu-link--has-sub { background:var(--chip); color:var(--text); }
.site-nav__menu-item.is-open .site-nav__sub-chevron { transform:translateX(-3px); color:var(--accent); }

.site-nav__submenu {
  position:fixed;
  min-width:240px;
  max-width:280px;
  background:var(--card);
  border:1px solid var(--border-soft);
  border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  padding:8px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:100;
  transition:opacity .16s ease, visibility .16s ease, transform .16s ease;
  transform:translateX(2px);
}
.site-nav__menu-item.is-open > .site-nav__submenu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.site-nav__submenu-link {
  display:block; color:var(--text-soft); text-decoration:none; font-weight:600; font-size:13px;
  padding:10px 12px; border-radius:10px; line-height:1.45; transition:background .2s ease, color .2s ease;
}
.site-nav__submenu-link:hover { background:var(--chip); color:var(--text); }

.site-drawer__group { display:flex; flex-direction:column; gap:4px; }
.site-drawer__group-toggle {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:transparent; border:0; color:var(--text-soft); font-family:inherit; font-weight:700;
  font-size:16px; padding:13px 14px; border-radius:12px; cursor:pointer; text-align:right;
}
.site-drawer__group-toggle[aria-expanded="true"] { background:var(--chip); color:var(--text); }
.site-drawer__group-toggle svg,
.site-drawer__subgroup-toggle svg { flex-shrink:0; transition:transform .25s ease; color:var(--muted); }
.site-drawer__group-toggle[aria-expanded="true"] svg,
.site-drawer__subgroup-toggle[aria-expanded="true"] svg { transform:rotate(180deg); color:var(--accent); }
.site-drawer__subnav,
.site-drawer__subgroup-items {
  display:none;
  flex-direction:column;
  gap:2px;
}
.site-drawer__subnav.is-expanded {
  display:flex;
  padding:0 8px 8px 0;
}
.site-drawer__sublink {
  color:var(--muted); text-decoration:none; font-weight:600; font-size:14px;
  padding:10px 14px 10px 24px; border-radius:10px;
}
.site-drawer__sublink--child { padding-right:34px; font-size:13px; }
.site-drawer__sublink--overview { font-weight:800; color:var(--accent); padding-right:24px; }
.site-drawer__sublink:hover { background:var(--chip); color:var(--text); }

.site-drawer__subgroup { display:flex; flex-direction:column; gap:2px; }
.site-drawer__subgroup-toggle {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:transparent; border:0; color:var(--text-soft); font-family:inherit; font-weight:700;
  font-size:15px; padding:10px 14px 10px 24px; border-radius:10px; cursor:pointer; text-align:right;
}
.site-drawer__subgroup-toggle[aria-expanded="true"] { background:var(--chip); color:var(--text); }
.site-drawer__subgroup-items.is-expanded {
  display:flex;
  padding-bottom:6px;
}

/* Catalog pages */
.catalog-page { padding-bottom:48px; }
.catalog-page-header { border-bottom:1px solid var(--hair); background:var(--bg-alt); }
.catalog-page-header__inner {
  width:100%; max-width:1240px; margin:0 auto;
  padding-block:28px; padding-inline:clamp(14px,4vw,28px);
}
.catalog-page-header__label { font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--accent); letter-spacing:.14em; margin-top:14px; }
.catalog-page-header__title { font-size:clamp(28px,5vw,40px); font-weight:900; margin-top:12px; letter-spacing:-.02em; }
.catalog-page-header__subtitle { color:var(--muted); margin-top:8px; font-size:15px; max-width:640px; line-height:1.7; }

.catalog-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color:var(--muted); margin-bottom:12px; }
.catalog-breadcrumbs__link { color:var(--muted); text-decoration:none; }
.catalog-breadcrumbs__link:hover { color:var(--text); }
.catalog-breadcrumbs__current { color:var(--text); }

.catalog-toolbar { padding-top:18px; }
.catalog-toolbar__inner { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.catalog-toolbar__count { font-size:14px; color:var(--muted); }
.catalog-toolbar__count strong { color:var(--text); font-family:'IBM Plex Mono',monospace; }
.catalog-toolbar__sort label { display:flex; align-items:center; gap:9px; font-size:14px; color:var(--muted); }
.catalog-toolbar__sort select {
  cursor:pointer; font-family:'Tajawal',sans-serif; font-size:14px; font-weight:700; color:var(--text);
  background:var(--card); border:1px solid var(--border-soft); border-radius:10px; padding:10px 14px;
}

.catalog-layout {
  display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:start; padding-top:24px;
}
.catalog-main { min-width:0; }
.catalog-sidebar__toggle {
  display:none; width:100%; align-items:center; justify-content:space-between; gap:12px;
  background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px 16px;
  font-family:'Tajawal',sans-serif; font-size:15px; font-weight:800; color:var(--text); cursor:pointer;
  margin-bottom:12px; transition:border-color .2s ease, background .2s ease;
}
.catalog-sidebar__toggle:hover { border-color:var(--accent); background:var(--chip); }
.catalog-sidebar__toggle svg { flex-shrink:0; transition:transform .25s ease; color:var(--muted); }
.catalog-sidebar.is-open .catalog-sidebar__toggle svg { transform:rotate(180deg); color:var(--accent); }
.catalog-sidebar__card { background:var(--card); border:1px solid var(--border); border-radius:18px; padding:18px; position:sticky; top:92px; }
.catalog-sidebar__title { font-size:16px; font-weight:800; margin-bottom:12px; }
.catalog-sidebar__nav { display:flex; flex-direction:column; gap:4px; }
.catalog-sidebar__link {
  color:var(--text-soft); text-decoration:none; font-weight:600; font-size:14px;
  padding:10px 12px; border-radius:10px; transition:background .2s ease, color .2s ease;
}
.catalog-sidebar__link--child { padding-right:24px; font-size:13px; }
.catalog-sidebar__link:hover, .catalog-sidebar__link.is-active { background:var(--chip); color:var(--text); }

.catalog-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap:20px; }
.catalog-grid--compact { grid-template-columns:repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }

.catalog-product-card {
  display:flex; flex-direction:column; min-width:0; height:100%;
  text-decoration:none; color:inherit; background:var(--card); border:1px solid var(--border);
  border-radius:18px; overflow:hidden; transition:border-color .2s ease, transform .2s ease;
}
.catalog-product-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.catalog-product-card__media { aspect-ratio:1/1; background:var(--bg); border-bottom:1px solid var(--border); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.catalog-product-card__image { width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; }
.catalog-product-card__image.is-loaded,
.catalog-product-card__image[loading="eager"] { opacity:1; }
.catalog-product-card__placeholder { width:72px; height:72px; border-radius:50%; background:repeating-radial-gradient(circle, var(--deco) 0 2px, transparent 2px 11px); }
.catalog-product-card__tag { position:absolute; top:12px; right:12px; background:var(--accent); color:var(--on-accent); font-weight:800; font-size:11px; padding:4px 10px; border-radius:100px; }
.catalog-product-card__body { padding:18px; flex:1 1 auto; display:flex; flex-direction:column; }
.catalog-product-card__spec { font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--accent); letter-spacing:.03em; }
.catalog-product-card__name { font-size:16px; font-weight:800; margin-top:7px; line-height:1.4; }
.catalog-product-card__price { display:flex; align-items:center; gap:6px; margin-top:16px; }
.catalog-product-card__amount { font-family:'IBM Plex Mono',monospace; font-size:22px; font-weight:600; }
.catalog-product-card__currency { font-size:12px; color:var(--muted2); }

.catalog-category-hero {
  position:relative; overflow:hidden; border-bottom:1px solid var(--hair);
  background:linear-gradient(120deg, var(--accent-strong), #0a1f3c);
}
.catalog-category-hero__inner { padding-block:44px 48px; position:relative; }
.catalog-category-hero__content { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-top:20px; }
.catalog-category-hero__main { flex:1 1 280px; min-width:0; }
.catalog-category-hero__media { flex:0 0 auto; width:min(100%, 220px); }
.catalog-category-hero__image {
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:18px;
  border:2px solid rgba(255,255,255,.18); box-shadow:0 16px 40px rgba(0,0,0,.22);
}
.catalog-category-hero__stats--inline { margin-top:18px; }
.catalog-category-hero__title { font-size:clamp(30px,6vw,50px); font-weight:900; color:#fff; line-height:1.1; letter-spacing:-.02em; }
.catalog-category-hero__subtitle { font-size:clamp(15px,2.5vw,18px); line-height:1.7; color:#d6e6f6; margin-top:14px; max-width:620px; }
.catalog-category-hero__stat-value { font-family:'IBM Plex Mono',monospace; font-size:26px; font-weight:600; color:#fff; }
.catalog-category-hero__stat-label { font-size:12px; color:#bcd6ee; }
.catalog-category-hero .catalog-breadcrumbs__link, .catalog-category-hero .catalog-breadcrumbs__current, .catalog-category-hero .catalog-breadcrumbs__sep { color:#bcd6ee; }
.catalog-category-hero .catalog-breadcrumbs__current { color:#fff; }

.catalog-subcategories { padding-top:28px; }
.catalog-subcategories__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 150px), 1fr)); gap:12px; }
.catalog-subcategory-card {
  display:flex; align-items:flex-start; gap:12px; text-decoration:none; color:inherit;
  background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px;
  transition:border-color .2s ease, transform .2s ease;
}
.catalog-subcategory-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.catalog-subcategory-card__icon { width:40px; height:40px; border-radius:11px; background:var(--chip); border:1px solid var(--accent-15); flex-shrink:0; }
.catalog-subcategory-card__image {
  width:40px; height:40px; border-radius:11px; object-fit:cover; flex-shrink:0;
  border:1px solid var(--border-soft);
}
.catalog-subcategory-card__body { min-width:0; flex:1; }
.catalog-subcategory-card__name { font-weight:800; font-size:14px; }
.catalog-subcategory-card__desc {
  font-size:12px; line-height:1.55; color:var(--muted); margin-top:4px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.catalog-subcategory-card__count { font-size:11px; color:var(--muted2); font-family:'IBM Plex Mono',monospace; margin-top:6px; }

.catalog-product-page,
.catalog-article-page,
.catalog-articles.public-page-container {
  padding-block:24px 48px;
}
.catalog-product-page { overflow-x:hidden; }
.catalog-page--product,
.catalog-page--article {
  background:
    radial-gradient(circle at 12% 0%, rgba(11,147,224,.07), transparent 42%),
    radial-gradient(circle at 88% 18%, rgba(2,48,105,.05), transparent 36%),
    var(--bg);
}
.catalog-product-surface {
  background:#fff;
  border:1px solid rgba(215,227,239,.9);
  border-radius:20px;
  box-shadow:0 10px 32px rgba(15,35,55,.06), 0 2px 8px rgba(15,35,55,.04);
}
[data-theme="dark"] .catalog-product-surface {
  background:var(--card);
  border-color:var(--border);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}
.catalog-product-detail {
  display:grid;
  grid-template-columns:minmax(280px, 480px) minmax(0, 1fr);
  gap:clamp(18px,3vw,28px);
  margin-top:16px;
  align-items:start;
}
.catalog-product-detail__gallery {
  display:flex; flex-direction:column; gap:14px; width:100%; max-width:480px;
  padding:16px;
}
.catalog-product-detail__stage {
  position:relative;
  aspect-ratio:1/1; width:100%;
  background:linear-gradient(180deg, #f8fbfd 0%, #eef5fb 100%);
  border:1px solid var(--hair);
  border-radius:16px; overflow:hidden; display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
[data-theme="dark"] .catalog-product-detail__stage {
  background:var(--card-alt);
  box-shadow:none;
}
.catalog-product-detail__image-badge {
  position:absolute; top:14px; right:14px; z-index:2;
  background:linear-gradient(120deg, var(--accent-strong), var(--accent));
  color:var(--on-accent); font-weight:800; font-size:12px; line-height:1.35;
  padding:8px 14px; border-radius:100px;
  box-shadow:0 4px 14px rgba(2,48,105,.22);
  max-width:calc(100% - 28px); text-align:center;
  pointer-events:none;
}
.catalog-product-detail__image {
  width:100%; height:100%; object-fit:contain;
  background:transparent; padding:18px;
}
.catalog-product-detail__placeholder {
  width:120px; height:120px; border-radius:50%;
  background:repeating-radial-gradient(circle, var(--deco) 0 3px, transparent 3px 14px);
}
.catalog-product-detail__thumbs {
  display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-start;
}
.catalog-product-detail__thumb {
  width:76px; height:76px; padding:0; border-radius:12px; border:2px solid var(--border);
  background:#fff; overflow:hidden; cursor:pointer; flex-shrink:0;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
[data-theme="dark"] .catalog-product-detail__thumb { background:var(--card-alt); }
.catalog-product-detail__thumb:hover { border-color:var(--border-soft); transform:translateY(-1px); }
.catalog-product-detail__thumb.is-active {
  border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-15);
}
.catalog-product-detail__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.catalog-product-detail__info {
  min-width:0;
  padding:clamp(18px,3vw,28px);
}
.catalog-product-detail__spec {
  display:inline-flex; align-items:center;
  font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--accent);
  background:var(--accent-15); border-radius:999px; padding:6px 12px; font-weight:700;
  letter-spacing:.02em;
}
.catalog-product-detail__title {
  font-size:clamp(26px,3.6vw,36px); font-weight:900; margin-top:12px;
  line-height:1.28; letter-spacing:-.015em; color:var(--text);
  max-width:30ch;
}
.catalog-product-detail__technical-name {
  margin-top:8px; font-size:13px; line-height:1.55; color:var(--muted2);
  font-family:'IBM Plex Mono',monospace; letter-spacing:.01em; word-break:break-word;
}
.catalog-product-detail__category {
  display:inline-flex; align-items:center; margin-top:12px; color:var(--accent);
  text-decoration:none; font-weight:700; font-size:14px;
  border-bottom:1px solid transparent; transition:border-color .2s ease;
}
.catalog-product-detail__category:hover { border-bottom-color:var(--accent); }
.catalog-product-detail__price { margin-top:18px; display:flex; align-items:baseline; gap:8px; }
.catalog-product-price { margin-top:18px; }
.catalog-product-price--compact { margin-top:16px; }
.catalog-product-price__current {
  display:flex; align-items:center; gap:6px; margin:0;
  font-family:'IBM Plex Mono',monospace; font-size:clamp(28px,4vw,36px); font-weight:700; line-height:1;
  color:var(--text);
}
.catalog-product-price--compact .catalog-product-price__current {
  font-size:22px;
}
.catalog-riyal-icon {
  display:inline-block; vertical-align:-0.125em; flex-shrink:0;
}
.catalog-product-price__compare-row {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:10px 0 0;
}
.catalog-product-price__old {
  display:inline-flex; align-items:center; gap:4px;
  font-family:'IBM Plex Mono',monospace; font-size:15px; color:var(--muted2);
  text-decoration:line-through; text-decoration-thickness:1px;
}
.catalog-product-price__discount {
  display:inline-flex; align-items:center; min-height:28px; padding:0 10px;
  border-radius:999px; background:#e8f5e9; color:#1b7f3b;
  font-size:12px; font-weight:800;
}
[data-theme="dark"] .catalog-product-price__discount {
  background:rgba(27,127,59,.18); color:#7ddea0;
}
.catalog-product-price__vat-note {
  margin:10px 0 0; font-size:12px; line-height:1.5; font-weight:600; color:var(--muted2);
}
.catalog-product-rating {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin-top:12px;
}
.catalog-product-rating__stars {
  display:inline-flex; align-items:center; gap:2px;
}
.catalog-product-rating__star {
  color:var(--border-soft); line-height:0;
}
.catalog-product-rating__star.is-filled {
  color:#f5b301;
}
.catalog-product-rating__average {
  font-family:'IBM Plex Mono',monospace; font-size:15px; font-weight:700; color:var(--text);
}
.catalog-product-rating__count {
  font-size:13px; color:var(--muted2);
}
.catalog-product-viewers {
  display:flex; align-items:center; gap:8px; margin-top:10px;
  font-size:13px; color:var(--muted);
}
.catalog-product-viewers__icon {
  flex-shrink:0; color:var(--accent);
  animation:catalog-viewers-pulse 2s ease-in-out infinite;
}
.catalog-product-viewers__text {
  line-height:1.5;
}
.catalog-product-urgency {
  margin-top:14px;
}
.catalog-product-urgency__text {
  margin:0 0 8px;
  font-size:14px; font-weight:800; color:#e1001a;
}
.catalog-product-urgency__bar {
  width:100%; height:8px; border-radius:999px; overflow:hidden; background:#ececec;
}
.catalog-product-urgency__bar-fill {
  display:block; width:100%; height:100%; border-radius:inherit;
}
.catalog-offer-countdown {
  margin-top:16px; padding:16px 18px; border-radius:16px;
  background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color:#fff; border:1px solid rgba(255,255,255,.08);
}
.catalog-offer-countdown__label {
  display:flex; align-items:center; gap:10px; margin:0 0 14px;
  font-size:15px; font-weight:800; color:#fff;
}
.catalog-offer-countdown__label svg {
  flex-shrink:0; color:#fff;
}
.catalog-offer-countdown__list {
  display:flex; align-items:stretch; justify-content:space-between; gap:10px;
  margin:0; padding:0; list-style:none;
}
.catalog-offer-countdown__list li {
  flex:1; min-width:0; text-align:center; padding:12px 8px;
  border-radius:12px; background:rgba(255,255,255,.08);
}
.catalog-offer-countdown__value {
  display:block; font-family:'IBM Plex Mono',monospace;
  font-size:clamp(22px,4vw,28px); font-weight:700; line-height:1.1; color:#fff;
}
.catalog-offer-countdown__unit {
  display:block; margin-top:6px; font-size:12px; color:rgba(255,255,255,.72); font-weight:600;
}
@keyframes catalog-viewers-pulse {
  0%, 100% { opacity:1; transform:scale(1); }
  50% { opacity:.65; transform:scale(.94); }
}
.catalog-product-detail__amount { font-family:'IBM Plex Mono',monospace; font-size:34px; font-weight:600; color:var(--accent); }
.catalog-product-detail__currency { font-size:14px; color:var(--muted2); }
.catalog-product-detail__excerpt {
  margin:18px 0 0; padding:14px 16px;
  font-size:15px; line-height:1.85; color:var(--text-soft);
  background:rgba(241,246,251,.9); border:1px solid var(--hair); border-radius:14px;
}
[data-theme="dark"] .catalog-product-detail__excerpt {
  background:var(--card-alt);
}
.catalog-product-detail__actions {
  display:flex; flex-direction:column; gap:14px; align-items:stretch; margin-top:24px;
}
.catalog-product-detail__cart-form {
  width:100%; margin:0;
}
.catalog-product-detail__whatsapp-row {
  width:100%;
}
.catalog-product-detail__whatsapp-row .catalog-product-detail__cta {
  width:100%;
}
.catalog-product-detail__cta {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--accent); color:var(--on-accent); text-decoration:none;
  font-weight:800; font-size:16px; padding:14px 24px; border-radius:12px;
  border:2px solid transparent; line-height:1.2; text-align:center;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.catalog-product-detail__cta:hover { transform:translateY(-1px); }
.catalog-product-detail__cta-icon { flex-shrink:0; opacity:.95; }
.catalog-product-detail__stock-qty {
  margin:0 0 14px; font-size:14px; color:var(--muted);
}
.catalog-product-detail__purchase-trust {
  margin:14px 0 0; padding:12px 14px; border-radius:12px;
  background:color-mix(in srgb, var(--accent) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  font-size:13.5px; line-height:1.55; color:var(--muted); list-style:none;
}
.catalog-product-detail__purchase-trust li + li { margin-top:6px; }
.catalog-product-detail__purchase-trust a {
  color:var(--accent); font-weight:700; text-decoration:underline;
}
.catalog-product-detail__stock-qty strong {
  color:var(--text); font-family:'IBM Plex Mono',monospace; font-size:16px;
}
.catalog-product-detail__purchase-form { width:100%; display:flex; flex-direction:column; gap:14px; }
.catalog-product-detail__purchase-row {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.catalog-product-detail__qty-label { font-size:14px; font-weight:700; color:var(--text); margin:0; }
.catalog-product-detail__qty-input {
  width:96px; padding:10px 12px; border-radius:12px; border:1px solid var(--border);
  background:var(--bg); font-family:'IBM Plex Mono',monospace; font-size:16px;
}
.catalog-product-detail__cta-row {
  display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; width:100%;
}
.catalog-product-detail__cta-row .catalog-product-detail__cta {
  flex:1 1 calc(50% - 6px); min-width:0;
}
.catalog-product-detail__cta--buy-now {
  min-height:54px; padding:16px 20px; font-size:16px; letter-spacing:-.01em;
  cursor:pointer; font-family:inherit;
  background:var(--accent-strong); color:var(--on-accent); border-color:transparent;
  box-shadow:0 12px 32px color-mix(in srgb, var(--accent-strong) 38%, transparent);
}
.catalog-product-detail__cta--buy-now:hover {
  box-shadow:0 14px 36px color-mix(in srgb, var(--accent-strong) 48%, transparent);
}
.catalog-product-detail__cta--buy-now:active { transform:translateY(0); }
.catalog-product-detail__cta--cart {
  min-height:54px; padding:16px 20px; font-size:16px; letter-spacing:-.01em;
  cursor:pointer; font-family:inherit;
  box-shadow:0 12px 32px color-mix(in srgb, var(--accent) 38%, transparent);
}
.catalog-product-detail__cta--cart:hover {
  box-shadow:0 14px 36px color-mix(in srgb, var(--accent) 48%, transparent);
}
.catalog-product-detail__cta--cart:active { transform:translateY(0); }
.catalog-product-detail__cta--muted {
  background:var(--chip); color:var(--muted); box-shadow:none; cursor:not-allowed;
}
.catalog-product-detail__cta--secondary {
  background:transparent; color:var(--text); border-color:var(--border);
  box-shadow:none;
}
.catalog-product-detail__cta--secondary:hover {
  background:var(--chip); border-color:var(--accent); color:var(--text);
  box-shadow:none;
}
.catalog-product-detail__cta--whatsapp {
  background:#25D366; color:#fff; border-color:transparent;
  box-shadow:0 8px 22px rgba(37,211,102,.28);
}
.catalog-product-detail__cta--whatsapp.catalog-product-detail__cta--secondary {
  background:transparent; color:#128C7E; border-color:rgba(37,211,102,.45);
  box-shadow:none;
}
.catalog-product-detail__cta--whatsapp.catalog-product-detail__cta--secondary:hover {
  background:rgba(37,211,102,.12); border-color:#25D366; color:#0d7a6c;
}
.catalog-product-detail__cta--whatsapp:hover { background:#1fb855; }

.catalog-product-body {
  margin-top:28px;
  padding:0;
  overflow:visible;
}
.catalog-product-content-grid {
  display:grid;
  gap:18px;
}
.catalog-product-content-grid__full {
  grid-column:1 / -1;
}
.catalog-product-content-grid__split {
  display:grid;
  gap:18px;
  grid-column:1 / -1;
}
@media (min-width: 981px) {
  .catalog-product-content-grid__split {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.catalog-product-body .catalog-product-accordion {
  margin-top:0;
}
.catalog-product-accordion--nested {
  border:1px solid var(--hair);
  border-radius:14px;
  overflow:hidden;
  background:#f8fbfd;
}
[data-theme="dark"] .catalog-product-accordion--nested {
  background:var(--card-alt);
  border-color:var(--border);
}
.catalog-product-section .catalog-product-accordion__trigger {
  font-size:16px;
  padding:16px 18px;
  background:#fff;
}
[data-theme="dark"] .catalog-product-section .catalog-product-accordion__trigger {
  background:var(--card);
}
.catalog-product-section .catalog-product-accordion__panel {
  padding:0 18px 18px;
}
.catalog-product-section .catalog-product-accordion__description {
  margin:0;
}
.catalog-product-reviews {
  margin-top:8px;
  padding:clamp(12px,2vw,18px) clamp(14px,2.4vw,22px) clamp(16px,2.4vw,22px);
}
.catalog-product-reviews--accordion {
  margin-top:0;
  padding:0;
}
.catalog-product-reviews__title {
  margin:0 0 14px;
  font-size:clamp(18px,2.4vw,22px);
  font-weight:900;
  color:var(--text);
}
.catalog-product-reviews__list {
  display:grid;
  gap:12px;
}
.catalog-product-reviews__item {
  padding:14px 16px;
  border:1px solid rgba(215,227,239,.95);
  border-radius:14px;
  background:#f8fbfd;
}
[data-theme="dark"] .catalog-product-reviews__item {
  background:var(--card-alt);
  border-color:var(--border);
}
.catalog-product-reviews__meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin-bottom:8px;
  font-size:13px;
  color:var(--muted2);
}
.catalog-product-reviews__author {
  color:var(--text);
  font-weight:800;
}
.catalog-product-reviews__rating {
  color:var(--accent);
  font-weight:800;
  font-family:'IBM Plex Mono',monospace;
}
.catalog-product-reviews__body {
  margin:0;
  color:var(--text-soft);
  line-height:1.75;
  font-size:14.5px;
}
.catalog-product-accordion {
  margin-top:40px; border:1px solid var(--border); border-radius:18px; overflow:hidden;
  background:var(--card);
}
.catalog-product-accordion__item + .catalog-product-accordion__item {
  border-top:1px solid var(--hair);
}
.catalog-product-accordion__trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 22px; background:#f7fafc; border:none; cursor:pointer;
  min-height:52px;
  font-family:'Tajawal',sans-serif; font-size:18px; font-weight:900; color:var(--text);
  text-align:right; transition:background .2s ease, color .2s ease;
}
[data-theme="dark"] .catalog-product-accordion__trigger { background:var(--card-alt); }
.catalog-product-accordion__trigger:hover { background:#eef5fb; }
[data-theme="dark"] .catalog-product-accordion__trigger:hover { background:var(--chip); }
.catalog-product-accordion__item.is-open .catalog-product-accordion__trigger {
  color:var(--accent-strong); background:#eef6fc;
}
[data-theme="dark"] .catalog-product-accordion__item.is-open .catalog-product-accordion__trigger {
  color:var(--accent); background:var(--chip);
}
.catalog-product-accordion__icon {
  flex-shrink:0; color:var(--muted); transition:transform .25s ease;
}
.catalog-product-accordion__item.is-open .catalog-product-accordion__icon {
  transform:rotate(180deg); color:var(--accent);
}
.catalog-product-accordion__panel { padding:4px 22px 24px; }
.catalog-product-accordion__content {
  color:var(--text-soft); line-height:1.95; font-size:16.5px;
  max-width:72ch;
}
.catalog-product-accordion__description {
  color:#2c4660;
  background:#fff;
  border:1px solid var(--hair);
  border-radius:14px;
  padding:18px 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
[data-theme="dark"] .catalog-product-accordion__description {
  color:var(--text-soft);
  background:var(--card-alt);
  box-shadow:none;
}
.catalog-product-specs { display:grid; gap:0; margin:0; }
.catalog-product-specs__row {
  display:grid; grid-template-columns:minmax(140px, 220px) 1fr; gap:16px;
  padding:14px 12px; border-bottom:1px solid var(--hair);
  border-radius:10px;
}
.catalog-product-specs__row:nth-child(odd) {
  background:rgba(241,246,251,.65);
}
[data-theme="dark"] .catalog-product-specs__row:nth-child(odd) {
  background:rgba(255,255,255,.03);
}
.catalog-product-specs__row:last-child { border-bottom:none; }
.catalog-product-specs__row dt {
  margin:0; font-weight:800; color:var(--text); font-size:14px;
}
.catalog-product-specs__row dd {
  margin:0; color:var(--text-soft); font-size:15px; line-height:1.75;
}

.catalog-product-section {
  padding:clamp(20px,2.6vw,28px) clamp(18px,2.6vw,26px);
  border:1px solid rgba(215,227,239,.95);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 32px rgba(15,35,55,.06), 0 2px 8px rgba(15,35,55,.04);
}
[data-theme="dark"] .catalog-product-section {
  background:var(--card);
  border-color:var(--border);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}
.catalog-product-section__title {
  margin:0 0 10px;
  font-size:clamp(20px,2.6vw,24px);
  font-weight:900;
  color:var(--text);
  line-height:1.35;
}
.catalog-product-section__lead {
  margin:0 0 16px;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.catalog-product-section__body {
  color:var(--text-soft);
  font-size:16px;
  line-height:1.9;
}
.catalog-product-section__html h2 {
  margin:28px 0 12px;
  font-size:clamp(18px,2.2vw,22px);
  font-weight:900;
  color:var(--text);
  line-height:1.4;
}
.catalog-product-section__html h2:first-child {
  margin-top:0;
}
.catalog-product-section__html p {
  margin:0 0 14px;
}
.catalog-product-section__html p:last-child {
  margin-bottom:0;
}
.catalog-product-section__html strong {
  color:var(--text);
  font-weight:800;
}
.catalog-product-specs-table {
  width:100%;
  border-collapse:collapse;
  font-size:15px;
}
.catalog-product-specs-table th,
.catalog-product-specs-table td {
  padding:13px 14px;
  border-bottom:1px solid var(--hair);
  text-align:right;
  vertical-align:top;
}
.catalog-product-specs-table tr:nth-child(odd) {
  background:rgba(241,246,251,.65);
}
[data-theme="dark"] .catalog-product-specs-table tr:nth-child(odd) {
  background:rgba(255,255,255,.03);
}
.catalog-product-specs-table th {
  width:min(38%, 260px);
  font-weight:800;
  color:var(--text);
}
.catalog-product-specs-table td {
  color:var(--text-soft);
  line-height:1.75;
}
.catalog-product-feature + .catalog-product-feature {
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed var(--hair);
}
.catalog-product-feature__title {
  margin:0 0 6px;
  font-size:17px;
  font-weight:800;
  color:var(--text);
}
.catalog-product-feature__body {
  margin:0;
  color:var(--text-soft);
  line-height:1.85;
}
.catalog-product-uses {
  margin:0;
  padding:0 20px 0 0;
  display:grid;
  gap:10px;
}
.catalog-product-uses li {
  line-height:1.85;
  color:var(--text-soft);
}
.catalog-product-checklist {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.catalog-product-checklist__item {
  position:relative;
  padding:12px 14px 12px 0;
  border-bottom:1px dashed var(--hair);
  color:var(--text-soft);
  line-height:1.8;
  font-size:15.5px;
}
.catalog-product-checklist__item:last-child {
  border-bottom:none;
  padding-bottom:0;
}
.catalog-product-checklist__item::before {
  content:'';
  position:absolute;
  right:0;
  top:1.15em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  transform:translateY(-50%);
}
.catalog-product-section--cta {
  background:linear-gradient(135deg, #eef6fc 0%, #f8fbff 55%, #fff 100%);
  border-color:rgba(11,147,224,.28);
}
[data-theme="dark"] .catalog-product-section--cta {
  background:linear-gradient(135deg, rgba(11,147,224,.12) 0%, var(--card) 100%);
}
.catalog-product-cta__title {
  margin:0 0 12px;
  font-size:clamp(22px,2.8vw,28px);
  font-weight:900;
  color:var(--text);
  line-height:1.35;
}
.catalog-product-cta__body {
  margin:0;
  font-size:16.5px;
  line-height:1.95;
  color:var(--text-soft);
  max-width:68ch;
}
.catalog-product-cta__actions {
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.catalog-articles { max-width:1240px; margin:0 auto; padding:24px clamp(16px,4vw,28px) 0; }
.catalog-articles__featured { margin-bottom:24px; }
.catalog-articles__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px; }

.catalog-article-card {
  display:block; text-decoration:none; color:inherit; background:var(--card); border:1px solid var(--border);
  border-radius:18px; overflow:hidden; transition:border-color .2s ease, transform .2s ease;
}
.catalog-article-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.catalog-article-card--featured { display:grid; grid-template-columns:1.1fr 1fr; }
.catalog-article-card__media { aspect-ratio:16/10; background:var(--bg); position:relative; overflow:hidden; min-height:180px; }
.catalog-article-card__image { width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; }
.catalog-article-card__image.is-loaded,
.catalog-article-card__image[loading="eager"] { opacity:1; }
.catalog-article-card__placeholder { width:100%; height:100%; background:repeating-linear-gradient(135deg, var(--stripe) 0 12px, transparent 12px 24px); }
.catalog-article-card__badge { position:absolute; top:16px; right:16px; background:var(--accent); color:#fff; font-weight:800; font-size:12px; padding:6px 13px; border-radius:100px; }
.catalog-article-card__body { padding:20px; }
.catalog-article-card__meta { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--muted2); margin-bottom:10px; }
.catalog-article-card__cat { color:var(--accent); font-weight:700; }
.catalog-article-card__title { font-size:20px; font-weight:900; line-height:1.35; }
.catalog-article-card__excerpt { margin-top:10px; color:var(--muted); line-height:1.7; font-size:14px; }

.catalog-article-page {
  display:flex;
  flex-direction:column;
  gap:20px;
}
.catalog-article-page__header {
  margin-top:4px;
  padding:clamp(18px,3vw,28px);
}
.catalog-article-page__meta {
  display:flex; flex-wrap:wrap; gap:12px;
  font-size:13px; color:var(--muted2);
}
.catalog-article-page__cat {
  color:var(--accent); font-weight:700;
  background:var(--accent-15); border-radius:999px;
  padding:4px 12px;
}
.catalog-article-page__title {
  font-size:clamp(26px,4.2vw,40px); font-weight:900; margin-top:14px;
  line-height:1.25; letter-spacing:-.02em; color:var(--text);
}
.catalog-article-page__hero {
  margin:0; padding:12px; overflow:hidden;
}
.catalog-article-page__hero img {
  width:100%; display:block; max-height:480px; object-fit:cover;
  border-radius:14px;
  background:linear-gradient(180deg, #f8fbfd 0%, #eef5fb 100%);
}
.catalog-article-page__content {
  margin:0;
  padding:clamp(20px,3vw,32px);
  color:var(--text);
  line-height:1.95;
  font-size:17px;
}
.catalog-article-page__content h2,
.catalog-article-page__content h3 {
  color:var(--text);
  font-weight:900;
  line-height:1.35;
  margin:1.5em 0 .55em;
}
.catalog-article-page__content h2 { font-size:clamp(20px,3vw,26px); }
.catalog-article-page__content h3 { font-size:clamp(17px,2.4vw,20px); }
.catalog-article-page__content h2:first-child,
.catalog-article-page__content h3:first-child { margin-top:0; }
.catalog-article-page__content p { margin-bottom:1.05em; color:var(--text-soft); }
.catalog-article-page__content strong { color:var(--text); font-weight:800; }
.catalog-article-page__content a {
  color:var(--accent); font-weight:700; text-decoration:underline;
  text-underline-offset:3px;
}
.catalog-article-page__content a:hover { color:var(--accent-strong, var(--accent)); }
.catalog-article-page__content ul,
.catalog-article-page__content ol {
  margin:0 0 1.15em;
  padding-inline-start:1.35em;
  color:var(--text-soft);
}
.catalog-article-page__content li { margin-bottom:.45em; padding-inline-start:.2em; }
.catalog-article-page__content li::marker { color:var(--accent); }
.catalog-article-page__content hr {
  border:none; border-top:1px solid rgba(215,227,239,.95);
  margin:1.6em 0;
}
.catalog-article-page__content .article-faq-item {
  margin:16px 0;
  padding:16px 18px;
  background:#f7fafc;
  border:1px solid rgba(215,227,239,.9);
  border-radius:14px;
}
.catalog-article-page__content .article-faq-item h3 { margin-top:0; }
.catalog-article-page__content .article-faq-item p:last-child { margin-bottom:0; }
.catalog-article-page__content .article-cta {
  margin:24px 0 8px;
  padding:clamp(18px,3vw,24px);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(11,147,224,.08), rgba(2,48,105,.06));
  border:1px solid rgba(11,147,224,.18);
}
.catalog-article-page__content .article-cta h2 { margin-top:0; }
.catalog-article-page__content .article-cta p:last-child { margin-bottom:0; }
.catalog-article-page__content .article-cta__link {
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:4px; padding:12px 18px; border-radius:12px;
  background:#25D366; color:#fff !important; font-weight:800;
  text-decoration:none !important;
  box-shadow:0 8px 22px rgba(37,211,102,.28);
  transition:transform .15s ease, background .15s ease;
}
.catalog-article-page__content .article-cta__link:hover {
  background:#1fb855; transform:translateY(-1px);
}
.catalog-article-page__content .article-internal-links {
  margin-top:20px;
  padding-top:8px;
}
.catalog-article-page__content .article-toc {
  margin:0 0 24px;
  padding:16px 18px;
  border:1px solid var(--border, rgba(0,0,0,.08));
  border-radius:12px;
  background:rgba(0,0,0,.02);
}
.catalog-article-page__content .article-toc h2 {
  margin-top:0;
  font-size:18px;
}
.catalog-article-page__content .article-toc ul {
  margin-bottom:0;
}
.catalog-article-page__content h2[id] {
  scroll-margin-top:96px;
}
.catalog-article-page__content .article-table-wrap {
  overflow-x:auto;
  margin:1.25em 0;
}
.catalog-article-page__content .article-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.catalog-article-page__content .article-table th,
.catalog-article-page__content .article-table td {
  padding:10px 12px;
  border:1px solid var(--border, rgba(0,0,0,.1));
  text-align:start;
  vertical-align:top;
}
.catalog-article-page__content .article-table th {
  background:rgba(0,0,0,.04);
  font-weight:800;
  color:var(--text);
}
.catalog-article-page .catalog-related {
  margin-top:0;
}

.catalog-related {
  margin-top:28px; padding:clamp(18px,3vw,28px);
  border-top:none;
}
.catalog-related__title {
  font-size:clamp(22px,5vw,28px); font-weight:900; margin-bottom:20px;
  letter-spacing:-.01em;
}
.catalog-related-articles {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.catalog-related-articles .catalog-article-card {
  height:100%;
}
.catalog-related-articles .catalog-article-card__title {
  font-size:15px;
  line-height:1.4;
}
.catalog-related-articles .catalog-article-card__excerpt {
  font-size:13px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.catalog-related-articles .catalog-article-card__media {
  aspect-ratio:16/10;
  min-height:0;
}
@media (max-width: 1100px) {
  .catalog-related-articles {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .catalog-related-articles {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }
  .catalog-related-articles .catalog-article-card__body {
    padding:12px;
  }
  .catalog-related-articles .catalog-article-card__title {
    font-size:13px;
  }
  .catalog-related-articles .catalog-article-card__excerpt {
    display:none;
  }
}
.catalog-related-carousel { position:relative; }
.catalog-related-carousel__item { height:100%; }
.catalog-related-carousel .catalog-product-card { height:100%; }
.catalog-related-carousel .owl-stage-outer { padding:4px 0 8px; }
.catalog-related-carousel .owl-nav {
  position:absolute; top:50%; left:0; right:0; transform:translateY(-50%);
  display:flex; justify-content:space-between; pointer-events:none; padding:0 4px;
}
.catalog-related-carousel .owl-nav button.owl-prev,
.catalog-related-carousel .owl-nav button.owl-next {
  pointer-events:auto; width:42px; height:42px; border-radius:12px;
  border:1px solid var(--border-soft); background:var(--card); color:var(--text);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(15,23,42,.08); transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.catalog-related-carousel .owl-nav button.owl-prev:hover,
.catalog-related-carousel .owl-nav button.owl-next:hover {
  border-color:var(--accent); color:var(--accent); background:var(--accent-15);
}
.catalog-related-carousel .owl-nav button.owl-prev.disabled,
.catalog-related-carousel .owl-nav button.owl-next.disabled { opacity:.35; cursor:not-allowed; }
.catalog-related-carousel .owl-dots { margin-top:18px; text-align:center; }
.catalog-related-carousel .owl-dots .owl-dot span {
  width:10px; height:10px; margin:0 5px; background:var(--border-soft); transition:background .2s ease, transform .2s ease;
}
.catalog-related-carousel .owl-dots .owl-dot.active span,
.catalog-related-carousel .owl-dots .owl-dot:hover span { background:var(--accent); transform:scale(1.1); }

.home-bestseller-carousel { position:relative; }
.home-bestseller-carousel__item { height:100%; }
.home-bestseller-carousel .catalog-product-card {
  display:block; height:100%; background:var(--card); border:1px solid var(--border);
  border-radius:18px; overflow:hidden; text-decoration:none; color:inherit;
  transition:border-color .2s ease, transform .2s ease;
}
.home-bestseller-carousel .catalog-product-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.home-bestseller-carousel .owl-stage-outer { padding:4px 0 8px; overflow:visible; }
.home-bestseller-carousel .owl-nav {
  position:absolute; top:38%; left:0; right:0; transform:translateY(-50%);
  display:flex; justify-content:space-between; pointer-events:none; padding:0 4px;
}
.home-bestseller-carousel .owl-nav button.owl-prev,
.home-bestseller-carousel .owl-nav button.owl-next {
  pointer-events:auto; width:42px; height:42px; border-radius:12px;
  border:1px solid var(--border-soft); background:var(--card); color:var(--text);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(15,23,42,.08); transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.home-bestseller-carousel .owl-nav button.owl-prev:hover,
.home-bestseller-carousel .owl-nav button.owl-next:hover {
  border-color:var(--accent); color:var(--accent); background:var(--accent-15);
}
.home-bestseller-carousel .owl-nav button.owl-prev.disabled,
.home-bestseller-carousel .owl-nav button.owl-next.disabled { opacity:.35; cursor:not-allowed; }
.home-bestseller-carousel .owl-dots { margin-top:18px; text-align:center; }
.home-bestseller-carousel .owl-dots .owl-dot span {
  width:10px; height:10px; margin:0 5px; background:var(--border-soft); transition:background .2s ease, transform .2s ease;
}
.home-bestseller-carousel .owl-dots .owl-dot.active span,
.home-bestseller-carousel .owl-dots .owl-dot:hover span { background:var(--accent); transform:scale(1.1); }

.site-clients__header {
  text-align:center;
  margin-bottom:40px;
}
.site-clients__label {
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  color:var(--accent);
  letter-spacing:.14em;
}
.site-clients__title {
  font-size:clamp(24px, 5vw, 32px);
}
.home-clients-carousel { position:relative; }
.home-clients-carousel__item { height:100%; }
.home-clients-carousel__logo {
  aspect-ratio:16/10;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:12px;
  height:100%;
}
.home-clients-carousel__logo img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.home-clients-carousel__placeholder {
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:var(--faint2);
  text-align:center;
}
.home-clients-carousel .owl-stage-outer { padding:4px 0; }

.catalog-empty { background:var(--card); border:1px solid var(--border); border-radius:18px; padding:40px 24px; text-align:center; }
.catalog-empty h2 { font-size:24px; font-weight:900; }
.catalog-empty p { color:var(--muted); margin-top:10px; }
.catalog-empty a { color:var(--accent); }

.catalog-pagination { margin-top:32px; padding-top:24px; border-top:1px solid var(--hair); }
.catalog-pagination__nav { display:flex; flex-direction:column; align-items:center; gap:16px; }
.catalog-pagination__meta {
  margin:0; font-size:14px; color:var(--muted); text-align:center;
}
.catalog-pagination__mono { font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--text); }
.catalog-pagination__controls {
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; width:100%;
}
.catalog-pagination__arrow {
  display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px;
  border-radius:12px; border:1px solid var(--border-soft); background:var(--card);
  color:var(--text); text-decoration:none; font-weight:800; font-size:14px;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.catalog-pagination__arrow:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-15); }
.catalog-pagination__arrow.is-disabled {
  opacity:.45; cursor:not-allowed; pointer-events:none; background:var(--card-alt); color:var(--muted);
}
.catalog-pagination__pages {
  display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap;
  padding:4px; border-radius:14px; background:var(--card-alt); border:1px solid var(--hair);
}
.catalog-pagination__page, .catalog-pagination__dots {
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px;
  padding:0 12px; border-radius:10px; font-weight:800; font-size:14px; text-decoration:none;
}
.catalog-pagination__page {
  color:var(--text-soft); background:transparent; border:1px solid transparent;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.catalog-pagination__page:hover { color:var(--text); background:var(--card); border-color:var(--border); }
.catalog-pagination__page.is-active {
  background:var(--accent); border-color:var(--accent); color:var(--on-accent);
  box-shadow:0 8px 20px rgba(11,147,224,.22);
}
.catalog-pagination__dots { color:var(--muted2); letter-spacing:.12em; min-width:auto; padding:0 6px; }
.catalog-pagination__mobile {
  display:none; margin:0; font-size:13px; color:var(--muted); font-family:'IBM Plex Mono',monospace;
}
.catalog-pagination nav { width:100%; }
.catalog-pagination .pagination {
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px; list-style:none; padding:0; margin:0;
}
.catalog-pagination .page-item .page-link {
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px;
  padding:0 12px; border-radius:10px; font-weight:800; font-size:14px; text-decoration:none;
  color:var(--text-soft); background:var(--card); border:1px solid var(--border);
}
.catalog-pagination .page-item.active .page-link {
  background:var(--accent); border-color:var(--accent); color:var(--on-accent);
}
.catalog-article-page__content img { max-width:100%; height:auto; border-radius:12px; }
.catalog-article-page__content table { display:block; overflow-x:auto; max-width:100%; }
.catalog-article-page__content iframe,
.catalog-article-page__content video,
.catalog-article-page__content embed {
  display:block; max-width:100%; width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:12px;
}
.catalog-article-page__content pre { overflow-x:auto; max-width:100%; }
.catalog-breadcrumbs { word-break:break-word; }
.catalog-articles.public-page-container { padding-block:24px 40px; }

.faqs-page__content {
  padding:32px 0 56px;
}
.policy-page__content {
  padding:32px 0 56px;
}
.faqs-page__group + .faqs-page__group { margin-top:40px; }
.faqs-page__group-title {
  font-size:clamp(22px,4vw,28px); font-weight:900; margin:0 0 8px; letter-spacing:-.02em;
}
.faqs-page__group-subtitle {
  color:var(--muted); margin:0 0 18px; font-size:15px; line-height:1.7;
}
.faqs-page__accordion { margin-top:8px; }
.faqs-page__ask {
  margin-top:48px; padding:28px; border:1px solid var(--hair); border-radius:18px;
  background:linear-gradient(180deg, var(--card) 0%, var(--card-alt) 100%);
}
.faqs-page__ask-title { font-size:24px; font-weight:900; margin:0 0 8px; }
.faqs-page__ask-subtitle { font-size:18px; font-weight:800; margin:0 0 10px; color:var(--accent); }
.faqs-page__ask-description { color:var(--text-soft); margin:0 0 18px; line-height:1.8; }
.faqs-page__ask-cta {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px;
  border-radius:12px; background:var(--accent); color:var(--on-accent); font-weight:800; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.faqs-page__ask-cta:hover {
  transform:translateY(-1px); box-shadow:0 10px 24px rgba(11,147,224,.24); color:var(--on-accent);
}

.policy-page__content {
  padding:32px 0 56px;
}
.policy-page__intro {
  color:var(--text-soft); font-size:16px; line-height:1.9; margin:0 0 28px;
}
.policy-page__section + .policy-page__section { margin-top:32px; }
.policy-page__section-title {
  font-size:clamp(20px,3.5vw,26px); font-weight:900; margin:0 0 14px; letter-spacing:-.02em;
}
.policy-page__section-body {
  color:var(--text-soft); font-size:15px; line-height:1.95; white-space:pre-wrap;
  padding:20px 22px; border:1px solid var(--hair); border-radius:16px; background:var(--card);
}
.policy-page__cta { margin-top:36px; }
.policy-page__cta-link {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px;
  border-radius:12px; background:var(--accent); color:var(--on-accent); font-weight:800; text-decoration:none;
}

/* Responsive grid utilities (mobile-first: full width, then columns on larger screens) */
.public-page-container {
  width:100%; max-width:1240px; margin:0 auto; padding-inline:clamp(14px,4vw,28px);
}

/* Trust pages: about, contact */
.catalog-service-page {
  display:flex; flex-direction:column; gap:clamp(36px,6vw,56px);
  max-width:960px; margin:0 auto; padding-block:clamp(28px,5vw,40px) clamp(36px,6vw,56px);
}
.catalog-service-page__header { display:flex; flex-direction:column; gap:14px; }
.catalog-service-page__title {
  font-size:clamp(28px,5vw,38px); font-weight:900; letter-spacing:-.02em; margin:0;
}
.catalog-service-page__intro {
  margin:0; color:var(--muted); font-size:16px; line-height:1.85; max-width:720px;
}
.catalog-service-page__section { display:flex; flex-direction:column; gap:20px; }
.catalog-service-page__section h2 {
  margin:0; font-size:clamp(22px,4vw,28px); font-weight:900; letter-spacing:-.01em;
}
.catalog-service-page__section .public-grid { margin-top:4px; }
.catalog-service-page__contact-list {
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;
}
.catalog-service-page__contact-list a { color:var(--accent); text-decoration:none; font-weight:700; }
.catalog-service-page__contact-list a:hover { text-decoration:underline; }
.catalog-service-page__cta {
  display:flex; flex-wrap:wrap; gap:12px; padding-top:clamp(28px,5vw,40px);
  border-top:1px solid var(--hair);
}

.public-grid { display:grid; gap:20px; width:100%; }
.public-grid--hero {
  grid-template-columns:1.05fr .95fr; gap:52px; align-items:center;
  max-width:1240px; margin:0 auto; padding:74px clamp(14px,4vw,28px) 82px; position:relative;
}
.public-grid--cards { grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.public-grid--services { grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap:16px; }
.public-grid--steps { grid-template-columns:repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.public-grid--articles { grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.public-grid--products { grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap:clamp(14px, 3vw, 20px); }
.public-grid--clients { grid-template-columns:repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap:14px; }
.public-grid--2col { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.public-grid--product-detail {
  grid-template-columns:minmax(280px, 480px) minmax(0, 1fr);
  gap:clamp(24px,4vw,48px); align-items:start;
}
.public-grid--cta {
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.public-grid__col-12 { grid-column:1 / -1; min-width:0; }
.site-hero__actions a,
.site-cta-actions a,
.catalog-product-detail__cta { width:100%; max-width:100%; }
@media (min-width: 641px) {
  .site-hero__actions a,
  .site-cta-actions a { width:auto; }
  .catalog-product-detail__cta { width:auto; }
}

/* Services & Projects showcase pages */
.catalog-page--showcase {
  background:
    radial-gradient(circle at 10% 0%, rgba(11,147,224,.06), transparent 40%),
    radial-gradient(circle at 90% 12%, rgba(2,48,105,.04), transparent 34%),
    var(--bg);
}
.showcase-hero {
  background:linear-gradient(120deg, var(--accent-strong), #0a1f3c);
  border-bottom:none;
}
.showcase-hero .catalog-breadcrumbs__link,
.showcase-hero .catalog-breadcrumbs__current,
.showcase-hero .catalog-breadcrumbs__sep { color:#bcd6ee; }
.showcase-hero .catalog-breadcrumbs__current { color:#fff; }
.showcase-hero .catalog-page-header__title { color:#fff; }
.showcase-hero .catalog-page-header__subtitle { color:#d6e6f6; max-width:720px; }
.showcase-hero__label {
  font-family:'IBM Plex Mono',monospace; font-size:13px; color:#7ec8ff;
  letter-spacing:.14em; margin-top:14px; text-transform:uppercase;
}
.showcase-hero--compact .catalog-page-header__inner { padding-block:22px 28px; }
.showcase-section { padding-block:32px 48px; }
.showcase-detail-hero {
  display:grid; grid-template-columns:1fr; gap:24px; align-items:center; margin-top:12px;
}
@media (min-width: 992px) {
  .showcase-detail-hero { grid-template-columns:1.1fr .9fr; gap:32px; }
}
.showcase-detail-hero__image {
  width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:18px;
  border:2px solid rgba(255,255,255,.16); box-shadow:0 18px 44px rgba(0,0,0,.24);
}
.catalog-grid--services { grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap:22px; }
.showcase-service-card {
  display:flex; flex-direction:column; min-height:100%; text-decoration:none; color:inherit;
  background:var(--card); border:1px solid var(--border); border-radius:20px; overflow:hidden;
  transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.showcase-service-card:hover {
  border-color:var(--accent); transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(2,48,105,.08);
}
.showcase-service-card__media {
  aspect-ratio:16/9; background:linear-gradient(135deg, var(--chip), var(--bg-alt));
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  border-bottom:1px solid var(--border);
}
.showcase-service-card__image { width:100%; height:100%; object-fit:cover; }
.showcase-service-card__icon {
  width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:var(--card); border:1px solid var(--accent-15); color:var(--accent);
}
.showcase-service-card__body { padding:22px; display:flex; flex-direction:column; flex:1; }
.showcase-service-card__title { font-size:18px; font-weight:900; line-height:1.35; }
.showcase-service-card__excerpt { color:var(--muted); font-size:14px; line-height:1.75; margin-top:10px; flex:1; }
.showcase-service-card__cta {
  margin-top:18px; font-size:14px; font-weight:800; color:var(--accent);
}
.showcase-article { max-width:860px; margin:0 auto; }
.showcase-article__section {
  display:grid; grid-template-columns:56px 1fr; gap:18px; padding:24px 0;
  border-bottom:1px solid var(--hair);
}
.showcase-article__section-index {
  font-family:'IBM Plex Mono',monospace; font-size:22px; font-weight:700; color:var(--accent); line-height:1;
}
.showcase-article__section-body h2 { font-size:20px; font-weight:900; margin-bottom:10px; }
.showcase-article__section-body p { color:var(--text-soft); line-height:1.85; font-size:15px; }
.showcase-faqs { margin-top:36px; }
.showcase-faqs__title { font-size:22px; font-weight:900; margin-bottom:16px; }
.showcase-faqs__list { display:flex; flex-direction:column; gap:10px; }
.showcase-faq {
  background:var(--card); border:1px solid var(--border); border-radius:14px; padding:0 18px;
}
.showcase-faq summary {
  cursor:pointer; font-weight:800; font-size:15px; padding:16px 0; list-style:none;
}
.showcase-faq summary::-webkit-details-marker { display:none; }
.showcase-faq p { color:var(--muted); font-size:14px; line-height:1.75; padding-bottom:16px; margin:0; }
.showcase-projects-intro {
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:16px 24px; margin-bottom:28px;
}
.showcase-projects-intro__text {
  margin:0; max-width:640px; color:var(--muted); font-size:15px; line-height:1.8;
}
.showcase-projects-stats { display:flex; flex-wrap:wrap; gap:12px; }
.showcase-stat-pill {
  display:flex; flex-direction:column; gap:2px; min-width:120px;
  padding:14px 18px; border-radius:16px; background:var(--card);
  border:1px solid var(--border); box-shadow:0 6px 20px rgba(15,35,55,.04);
}
.showcase-stat-pill--muted { background:var(--bg-alt); }
.showcase-stat-pill__value {
  font-size:28px; font-weight:900; line-height:1; color:var(--accent);
  font-family:'IBM Plex Mono',monospace;
}
.showcase-stat-pill__label { font-size:13px; color:var(--muted); font-weight:700; }
.catalog-grid--projects {
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap:24px;
}
.showcase-projects-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap:24px; }
.showcase-project-card {
  position:relative; display:flex; flex-direction:column; min-height:100%;
  background:var(--card); border:1px solid var(--border); border-radius:22px;
  overflow:hidden; box-shadow:0 8px 28px rgba(15,35,55,.05);
  transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.showcase-project-card:hover {
  border-color:var(--accent-15); transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(2,48,105,.1);
}
.showcase-project-card__media {
  position:relative; aspect-ratio:16/9; min-height:180px;
  background:linear-gradient(135deg, var(--chip) 0%, var(--bg-alt) 100%);
  border-bottom:1px solid var(--hair); overflow:hidden;
}
.showcase-project-card--kitchen .showcase-project-card__media {
  background:linear-gradient(135deg, rgba(255,120,60,.12), rgba(255,180,80,.06));
}
.showcase-project-card--warehouse .showcase-project-card__media {
  background:linear-gradient(135deg, rgba(46,125,210,.12), rgba(100,181,246,.06));
}
.showcase-project-card--factory .showcase-project-card__media {
  background:linear-gradient(135deg, rgba(76,175,80,.12), rgba(129,199,132,.06));
}
.showcase-project-card--commercial .showcase-project-card__media {
  background:linear-gradient(135deg, rgba(126,87,194,.12), rgba(179,157,219,.06));
}
.showcase-project-card__image,
.showcase-project-card__video { width:100%; height:100%; object-fit:cover; display:block; }
.showcase-project-gallery { position:relative; width:100%; height:100%; }
.showcase-project-gallery__slide {
  position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .25s ease;
}
.showcase-project-gallery__slide.is-active { opacity:1; visibility:visible; position:relative; height:100%; }
.showcase-project-gallery__nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:34px; height:34px; border:0; border-radius:999px;
  background:rgba(2,48,105,.72); color:#fff; font-size:22px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.showcase-project-gallery__nav--prev { inset-inline-start:10px; }
.showcase-project-gallery__nav--next { inset-inline-end:10px; }
.showcase-project-gallery__counter {
  position:absolute; bottom:10px; inset-inline-end:10px; z-index:2;
  font-size:12px; font-weight:600; color:#fff; background:rgba(2,48,105,.72);
  padding:4px 10px; border-radius:999px;
}
.showcase-project-card__placeholder {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  color:var(--accent); opacity:.85;
}
.showcase-project-card__index {
  position:absolute; top:14px; inset-inline-start:14px;
  font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:700;
  letter-spacing:.08em; color:#fff; background:rgba(2,48,105,.72);
  padding:6px 10px; border-radius:100px; backdrop-filter:blur(6px);
}
.showcase-project-card__body {
  display:flex; flex-direction:column; flex:1; padding:22px 22px 20px;
}
.showcase-project-card__meta { margin-bottom:10px; }
.showcase-project-card__sector {
  display:inline-flex; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em;
  color:var(--accent); background:var(--chip); border:1px solid var(--accent-15);
  padding:5px 11px; border-radius:100px; font-weight:700;
}
.showcase-project-card__title {
  font-size:19px; font-weight:900; line-height:1.4; margin:0 0 10px;
}
.showcase-project-card__title a {
  color:inherit; text-decoration:none;
}
.showcase-project-card__title a:hover { color:var(--accent); }
.showcase-project-card__excerpt {
  margin:0 0 14px; color:var(--text-soft); font-size:14px; line-height:1.75; flex:1;
}
.showcase-project-card__cta {
  display:inline-flex; align-items:center; gap:6px; margin-top:auto;
  font-size:13px; font-weight:800; color:var(--accent); text-decoration:none;
}
.showcase-project-card__cta:hover { text-decoration:underline; }
.showcase-project-detail { max-width:860px; margin:0 auto; }
.showcase-project-detail__section { margin-bottom:28px; }
.showcase-project-detail__section-title {
  font-size:18px; font-weight:900; margin:0 0 14px; color:var(--text);
}
.showcase-project-detail__gallery { margin-bottom:0; }
.showcase-project-gallery--detail {
  border-radius:22px; overflow:hidden; border:1px solid var(--border);
  aspect-ratio:16/9; min-height:280px; background:var(--bg-alt);
}
.showcase-project-detail__videos {
  display:flex; flex-direction:column; gap:16px;
}
.showcase-project-detail__video {
  border-radius:22px; overflow:hidden; border:1px solid var(--border);
  background:var(--bg-alt); aspect-ratio:16/9; min-height:280px;
}
.showcase-project-card__image--detail,
.showcase-project-card__video--detail { width:100%; height:100%; min-height:280px; object-fit:cover; display:block; }
.showcase-project-card__timeline--detail { margin-bottom:18px; }
.showcase-project-card__result--detail { margin-bottom:32px; }
.showcase-project-card__timeline {
  display:flex; flex-direction:column; gap:12px; flex:1;
}
.showcase-project-step {
  display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:start;
  padding:12px 14px; background:var(--bg-alt); border:1px solid var(--hair); border-radius:14px;
}
.showcase-project-step__icon {
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:var(--card); border:1px solid var(--accent-15); color:var(--accent);
}
.showcase-project-step__content { min-width:0; }
.showcase-project-step__label {
  display:block; font-size:11px; font-weight:800; color:var(--accent); margin-bottom:6px;
  letter-spacing:.02em;
}
.showcase-project-step p { margin:0; color:var(--text-soft); font-size:13px; line-height:1.75; }
.showcase-project-card__result {
  margin-top:14px; padding:14px 16px; border-radius:14px;
  background:linear-gradient(135deg, var(--chip), rgba(255,255,255,.02));
  border:1px solid var(--accent-15); border-inline-start:4px solid var(--accent);
}
.showcase-project-card__result-label {
  display:block; font-size:11px; font-weight:800; color:var(--accent); margin-bottom:6px;
}
.showcase-project-card__result p {
  margin:0; color:var(--text); font-size:14px; line-height:1.75; font-weight:600;
}
.showcase-cta--projects {
  margin-top:40px; padding:28px 24px; border-radius:22px;
  background:linear-gradient(135deg, var(--chip), var(--card));
  border:1px solid var(--border); box-shadow:0 10px 30px rgba(15,35,55,.05);
  flex-direction:column; align-items:stretch; text-align:center; gap:20px;
}
@media (min-width: 768px) {
  .showcase-cta--projects {
    flex-direction:row; align-items:center; justify-content:space-between; text-align:start;
  }
}
.showcase-cta__copy { max-width:560px; }
.showcase-cta__title { font-size:20px; font-weight:900; margin:0 0 8px; }
.showcase-cta__text { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.showcase-cta__actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
@media (min-width: 768px) {
  .showcase-cta__actions { justify-content:flex-end; flex-shrink:0; }
}
.showcase-cta {
  display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; justify-content:center;
}
.showcase-empty {
  grid-column:1 / -1; text-align:center; color:var(--muted); padding:48px 20px;
  background:var(--card); border:1px dashed var(--border); border-radius:18px;
}

/* —— Store cart —— */
.store-cart-page__body { padding-bottom:64px; }
.store-cart-page__hero .catalog-category-hero__subtitle { max-width:520px; }
.store-cart-flash {
  margin:20px 0 0; padding:14px 18px; border-radius:12px; font-size:14px; font-weight:600;
  border:1px solid var(--border);
}
.store-cart-flash--success { background:rgba(34, 197, 94, .08); border-color:rgba(34, 197, 94, .35); color:var(--text); }
.store-cart-flash--error { background:rgba(239, 68, 68, .08); border-color:rgba(239, 68, 68, .35); color:var(--text); }
.store-cart-empty {
  margin-top:28px; padding:48px 28px; text-align:center; border-radius:20px;
}
.store-cart-empty__icon { color:var(--muted2); margin-bottom:16px; opacity:.85; }
.store-cart-empty__title { font-size:22px; font-weight:800; margin:0 0 10px; }
.store-cart-empty__text { color:var(--muted2); margin:0 0 24px; line-height:1.7; max-width:360px; margin-inline:auto; }
.store-cart-empty__secondary {
  display:inline-block; margin-top:14px; margin-inline-start:12px; color:var(--accent); font-weight:700; text-decoration:none; font-size:14px;
}
.store-cart-layout {
  display:grid; grid-template-columns:1fr; gap:28px; margin-top:24px; align-items:start;
}
@media (min-width: 992px) {
  .store-cart-layout { grid-template-columns:1fr min(380px, 36vw); gap:32px; }
}
.store-cart-toolbar { padding-top:0; margin-bottom:8px; }
.store-cart-select {
  min-width:200px; padding:8px 12px; border-radius:10px; border:1px solid var(--border);
  background:var(--card); color:var(--text); font-family:inherit; font-size:14px;
}
.store-cart-items { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.store-cart-item {
  display:grid; grid-template-columns:96px 1fr; gap:16px; padding:16px; border-radius:18px;
}
@media (min-width: 640px) {
  .store-cart-item { grid-template-columns:112px 1fr auto; align-items:center; gap:20px; padding:20px; }
}
.store-cart-item__media {
  display:block; width:96px; height:96px; border-radius:14px; overflow:hidden; border:1px solid var(--border);
  background:var(--bg); flex-shrink:0;
}
@media (min-width: 640px) { .store-cart-item__media { width:112px; height:112px; } }
.store-cart-item__image { width:100%; height:100%; object-fit:cover; }
.store-cart-item__placeholder {
  display:block; width:100%; height:100%;
  background:repeating-radial-gradient(circle, var(--deco) 0 2px, transparent 2px 11px);
}
.store-cart-item__body { min-width:0; }
.store-cart-item__name {
  display:block; font-size:16px; font-weight:800; line-height:1.45; color:var(--text); text-decoration:none;
}
a.store-cart-item__name:hover { color:var(--accent); }
.store-cart-item__sku {
  display:block; margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--muted2);
}
.store-cart-item__unit { margin-top:12px; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.store-cart-item__amount { font-family:'IBM Plex Mono',monospace; font-size:18px; font-weight:600; }
.store-cart-item__currency { font-size:12px; color:var(--muted2); }
.store-cart-item__actions {
  grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; justify-content:space-between;
  padding-top:12px; border-top:1px solid var(--border); margin-top:4px;
}
@media (min-width: 640px) {
  .store-cart-item__actions {
    grid-column:auto; flex-direction:column; align-items:flex-end; border-top:none; padding-top:0; margin-top:0; min-width:160px;
  }
}
.store-cart-qty__label { display:block; font-size:12px; color:var(--muted2); margin-bottom:6px; }
.store-cart-qty__control { display:flex; align-items:center; gap:8px; }
.store-cart-qty__input {
  width:72px; padding:8px 10px; border-radius:10px; border:1px solid var(--border);
  background:var(--bg); color:var(--text); font-family:'IBM Plex Mono',monospace; text-align:center;
}
.store-cart-qty__btn {
  padding:8px 14px; border-radius:10px; border:1px solid var(--border); background:var(--chip);
  color:var(--text); font-size:13px; font-weight:700; cursor:pointer; font-family:inherit;
}
.store-cart-qty__btn:hover { border-color:var(--accent); }
.store-cart-item__line-total { text-align:end; }
.store-cart-item__line-label { display:block; font-size:11px; color:var(--muted2); }
.store-cart-item__line-amount { font-family:'IBM Plex Mono',monospace; font-size:20px; font-weight:700; }
.store-cart-item__line-amount small { font-size:12px; font-weight:600; color:var(--muted2); }
.store-cart-item__remove-btn {
  background:none; border:none; padding:0; color:var(--muted2); font-size:13px; cursor:pointer; text-decoration:underline;
  font-family:inherit;
}
.store-cart-item__remove-btn:hover { color:#ef4444; }
.store-cart-summary {
  padding:24px; border-radius:20px; position:sticky; top:24px;
}
.store-cart-summary__title { font-size:18px; font-weight:800; margin:0 0 12px; }
.store-pricing-vat-notice {
  display:flex; align-items:flex-start; gap:10px; margin:0 0 16px; padding:12px 14px;
  border-radius:12px; border:1px solid var(--border); background:var(--chip);
  font-size:13px; line-height:1.55; color:var(--muted);
}
.store-pricing-vat-notice__icon { flex-shrink:0; color:var(--accent); display:flex; margin-top:1px; }
.store-pricing-vat-notice__text { margin:0; }
.store-pricing-vat-notice__text strong { color:var(--text); font-weight:800; }
.store-cart-item__line-vat { display:block; font-size:11px; font-weight:600; color:var(--muted2); margin-top:2px; }
.store-cart-summary__rows { margin:0; padding:0; }
.store-cart-summary__row {
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:10px 0; border-bottom:1px solid var(--border); font-size:14px;
}
.store-cart-summary__row dt { margin:0; color:var(--muted); font-weight:600; flex:1; }
.store-cart-summary__row dd { margin:0; font-family:'IBM Plex Mono',monospace; font-weight:600; white-space:nowrap; }
.store-cart-summary__row dd span { font-size:11px; color:var(--muted2); font-weight:500; }
.store-cart-summary__row--muted dt,
.store-cart-summary__row--muted dd { font-size:13px; color:var(--muted2); }
.store-cart-summary__free { color:var(--accent); font-weight:800; font-family:inherit; }
.store-cart-summary__total {
  display:flex; justify-content:space-between; align-items:baseline; margin-top:18px; padding-top:16px;
  font-size:15px; font-weight:700;
}
.store-cart-summary__total strong {
  font-family:'IBM Plex Mono',monospace; font-size:26px; font-weight:700; color:var(--text);
}
.store-cart-summary__total strong small { font-size:13px; font-weight:600; color:var(--muted2); }
.store-cart-summary__note {
  margin:16px 0 0; font-size:12px; line-height:1.65; color:var(--muted2);
}
.store-cart-summary__cta { display:block; width:100%; text-align:center; margin-top:20px; justify-content:center; }
.store-cart-summary__continue {
  display:block; text-align:center; margin-top:14px; font-size:14px; font-weight:700;
  color:var(--accent); text-decoration:none;
}

/* —— Store checkout —— */
.store-checkout-layout { margin-top:24px; }
.store-checkout-form-wrap { padding:28px 24px; border-radius:20px; }
@media (min-width: 992px) { .store-checkout-form-wrap { padding:32px 28px; } }
.store-checkout-section__title { font-size:20px; font-weight:800; margin:0 0 24px; }
.store-checkout-form { display:flex; flex-direction:column; gap:18px; }
.store-checkout-field { display:flex; flex-direction:column; gap:8px; }
.store-checkout-label { font-size:14px; font-weight:700; color:var(--text); }
.store-checkout-label--required::after { content:' *'; color:var(--accent); }
.store-checkout-optional { font-weight:500; color:var(--muted2); font-size:12px; }
.store-checkout-input {
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--border);
  background:var(--bg); color:var(--text); font-family:inherit; font-size:15px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.store-checkout-input:focus {
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(201, 162, 39, .15);
}
.store-checkout-input.is-invalid { border-color:#ef4444; }
.store-checkout-textarea { resize:vertical; min-height:88px; line-height:1.6; }
.store-checkout-error { margin:0; font-size:13px; color:#ef4444; font-weight:600; }
.store-checkout-legal { padding:16px 0 4px; border-top:1px solid var(--border); }
.store-checkout-terms {
  display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.65; color:var(--muted);
  cursor:pointer;
}
.store-checkout-terms input { margin-top:4px; flex-shrink:0; accent-color:var(--accent); }
.store-checkout-terms a { color:var(--accent); font-weight:700; text-decoration:none; }
.store-checkout-terms a:hover { text-decoration:underline; }
.store-checkout-cod-note {
  margin:0 0 20px; padding:12px 14px; border-radius:12px;
  background:var(--chip); border:1px solid var(--border);
  font-size:13px; line-height:1.65; color:var(--muted);
}
.store-checkout-payment-note {
  padding:16px 18px; border-radius:14px; font-size:13px; line-height:1.7; color:var(--muted);
  background:var(--chip); border:1px solid var(--border);
}
.store-checkout-payment-note strong { display:block; color:var(--text); margin-bottom:10px; font-size:14px; }
.store-checkout-payment-note p { margin:0; }
.store-checkout-payment {
  margin-top:8px; padding-top:8px; border-top:1px solid var(--border);
}
.store-checkout-payment__title {
  margin:16px 0 12px; font-size:16px; font-weight:800; color:var(--text);
}
.store-checkout-payment-options {
  display:flex; flex-direction:column; gap:10px; margin:0; padding:0; border:0; background:transparent;
}
.store-checkout-fieldset:disabled { opacity:.85; }
.store-checkout-fieldset:disabled .store-checkout-payment-options { opacity:1; }
.store-checkout-paycard {
  position:relative; display:flex; align-items:center; gap:12px; margin:0;
  padding:14px 16px; border-radius:12px; border:1.5px solid var(--border);
  background:#fff; cursor:pointer;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.store-checkout-paycard:hover { border-color:var(--accent); }
.store-checkout-paycard:has(.store-checkout-paycard__input:checked) {
  border-color:var(--accent); background:rgba(201, 162, 39, .08); box-shadow:0 0 0 1px var(--accent);
}
.store-checkout-paycard:has(.store-checkout-paycard__input:focus-visible) {
  outline:2px solid var(--accent); outline-offset:2px;
}
.store-checkout-paycard__input {
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;
}
.store-checkout-paycard__radio {
  width:22px; height:22px; border-radius:50%; border:2px solid #cbd5e1; flex-shrink:0;
  display:grid; place-items:center; background:#fff;
}
.store-checkout-paycard:has(.store-checkout-paycard__input:checked) .store-checkout-paycard__radio {
  border-color:var(--accent);
}
.store-checkout-paycard:has(.store-checkout-paycard__input:checked) .store-checkout-paycard__radio::after {
  content:''; width:10px; height:10px; border-radius:50%; background:var(--accent);
}
.store-checkout-paycard__copy { flex:1; min-width:0; }
.store-checkout-paycard__name { display:block; color:var(--text); font-size:15px; font-weight:800; line-height:1.4; }
.store-checkout-paycard__hint { display:block; margin-top:3px; color:var(--muted); font-size:12px; line-height:1.5; font-weight:500; }
.store-checkout-paycard__marks { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.store-checkout-paymark {
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
  height:28px; padding:0 8px; border-radius:6px; border:1px solid var(--border);
  background:#fff; font-size:11px; font-weight:800; letter-spacing:.02em; line-height:1;
}
.store-checkout-paymark--cash { color:#0f766e; }
.store-checkout-paymark--mada { color:#00a19a; font-family:'IBM Plex Sans Arabic', inherit; min-width:42px; }
.store-checkout-paymark--visa { color:#1a1f71; font-style:italic; letter-spacing:.04em; min-width:42px; }
.store-checkout-paymark--mastercard { position:relative; width:42px; padding:0; }
.store-checkout-paymark__disc {
  width:14px; height:14px; border-radius:50%; display:block;
}
.store-checkout-paymark__disc--a { background:#eb001b; }
.store-checkout-paymark__disc--b { background:#f79e1b; margin-inline-start:-6px; }
@media (max-width: 575px) {
  .store-checkout-paycard { flex-wrap:wrap; }
  .store-checkout-paycard__marks { width:100%; padding-inline-start:34px; }
}
.store-checkout-submit { width:100%; justify-content:center; margin-top:4px; }
.store-checkout-submit:disabled {
  opacity:.55; cursor:not-allowed; transform:none;
  box-shadow:none; background:var(--chip); color:var(--muted);
}
.store-checkout-summary .store-cart-summary { margin-top:0; }
.store-checkout-lines {
  list-style:none; margin:0 0 16px; padding:0 0 12px; border-bottom:1px solid var(--border);
  display:flex; flex-direction:column; gap:14px; max-height:280px; overflow-y:auto;
}
.store-checkout-line { display:flex; align-items:center; gap:12px; }
.store-checkout-line__thumb {
  width:52px; height:52px; border-radius:10px; object-fit:cover; border:1px solid var(--border); flex-shrink:0;
}
.store-checkout-line__thumb--empty {
  display:block; background:repeating-radial-gradient(circle, var(--deco) 0 2px, transparent 2px 9px);
}
.store-checkout-line__body { flex:1; min-width:0; }
.store-checkout-line__name { display:block; font-size:14px; font-weight:700; line-height:1.4; }
.store-checkout-line__meta { font-size:12px; color:var(--muted2); font-family:'IBM Plex Mono',monospace; }
.store-checkout-line__price {
  font-family:'IBM Plex Mono',monospace; font-size:15px; font-weight:700; white-space:nowrap;
}
.store-checkout-line__price small { font-size:11px; color:var(--muted2); font-weight:600; }
.store-thank-you {
  max-width:520px; margin:28px auto 0; padding:40px 28px; text-align:center; border-radius:22px;
}
.store-thank-you__badge {
  width:56px; height:56px; margin:0 auto 16px; border-radius:50%;
  background:rgba(34, 197, 94, .12); color:#16a34a; font-size:28px; font-weight:800; line-height:56px;
}
.store-thank-you__lead { font-size:18px; font-weight:800; margin:0 0 20px; }
.store-thank-you__details { margin:0 0 16px; text-align:start; }
.store-thank-you__row {
  display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--border);
  font-size:14px;
}
.store-thank-you__row dt { margin:0; color:var(--muted); font-weight:600; }
.store-thank-you__row dd { margin:0; font-family:'IBM Plex Mono',monospace; font-weight:700; text-align:end; }
.store-thank-you__cta { display:inline-flex; margin-top:20px; }
