{"product_id":"hybrid-matte-bleu","title":"Hybrid Matte – Bleu","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Tajawal:wght@400;500;600;700\u0026display=swap');\n\n\/* =========================================================\n   FONE MARINA · LATEST\n   1 IMAGE + 1 VIDEO\n========================================================= *\/\n\n.fone-marina,\n.fone-marina *{\n  box-sizing:border-box;\n}\n\n.fone-marina{\n  --fm-black:#111214;\n  --fm-text:#61656d;\n  --fm-muted:#969aa1;\n  --fm-line:#ececef;\n  --fm-soft:#f5f5f7;\n  --fm-orange:#ff6b00;\n\n  \/* صورة المنتج *\/\n  --fm-image-fit:cover;\n  --fm-image-position:center;\n\n  width:100%;\n  margin:0;\n  color:var(--fm-black);\n\n  font-family:\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    Roboto,\n    Arial,\n    sans-serif;\n}\n\n.fone-marina button,\n.fone-marina summary{\n  -webkit-tap-highlight-color:transparent;\n}\n\n\n.fone-marina .fm-media-config{\n  display:none!important;\n}\n\n\/* =========================================================\n   LANGUAGE\n========================================================= *\/\n\n.fone-marina .fm-lang-radio{\n  position:absolute;\n  opacity:0;\n  pointer-events:none;\n}\n\n.fone-marina .fm-fr,\n.fone-marina .fm-ar{\n  display:none!important;\n}\n\n.fone-marina\n#fm-lang-fr:checked\n~ .fm-shell\n.fm-fr{\n  display:block!important;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-ar{\n  display:block!important;\n}\n\n.fone-marina\n#fm-lang-fr:checked\n~ .fm-shell\nspan.fm-fr{\n  display:inline!important;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\nspan.fm-ar{\n  display:inline!important;\n}\n\n.fone-marina .fm-ar,\n.fone-marina .fm-ar *{\n  font-family:\n    \"Tajawal\",\n    Tahoma,\n    Arial,\n    sans-serif!important;\n\n  letter-spacing:0!important;\n}\n\n.fone-marina .fm-ar{\n  direction:rtl;\n  text-align:right;\n}\n\n\n\/* =========================================================\n   SHELL\n========================================================= *\/\n\n.fone-marina .fm-shell{\n  width:100%;\n  margin:0;\n  padding:0;\n}\n\n\n\/* =========================================================\n   TOP BAR\n========================================================= *\/\n\n.fone-marina .fm-top{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n\n  gap:16px;\n\n  padding:5px 0 19px;\n}\n\n.fone-marina .fm-top-mark{\n  width:24px;\n  height:2px;\n\n  border-radius:999px;\n\n  background:var(--fm-orange);\n}\n\n.fone-marina .fm-lang-switch{\n  display:inline-flex;\n\n  gap:3px;\n\n  padding:3px;\n\n  border-radius:999px;\n\n  background:#f0f0f2;\n\n  direction:ltr;\n}\n\n.fone-marina .fm-lang-switch label{\n  min-width:43px;\n\n  padding:7px 11px;\n\n  border-radius:999px;\n\n  color:#92969d;\n\n  font-size:10px;\n  font-weight:720;\n\n  line-height:1;\n\n  text-align:center;\n\n  cursor:pointer;\n}\n\n.fone-marina\n#fm-lang-fr:checked\n~ .fm-shell\n.fm-lang-switch\nlabel[for=\"fm-lang-fr\"],\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-lang-switch\nlabel[for=\"fm-lang-ar\"]{\n  color:#fff;\n  background:#111214;\n}\n\n\n\/* =========================================================\n   INTRO\n========================================================= *\/\n\n.fone-marina .fm-intro{\n  padding:\n    25px 0 34px;\n\n  border-top:\n    1px solid\n    var(--fm-line);\n}\n\n.fone-marina .fm-brand{\n  display:flex;\n  align-items:center;\n\n  gap:8px;\n\n  margin-bottom:11px;\n\n  color:#7d8188;\n\n  font-size:8px;\n  font-weight:760;\n\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-brand::before{\n  content:\"\";\n\n  width:5px;\n  height:5px;\n\n  flex:0 0 5px;\n\n  border-radius:50%;\n\n  background:var(--fm-orange);\n}\n\n.fone-marina .fm-title{\n  max-width:760px;\n\n  margin:0;\n\n  color:var(--fm-black);\n\n  font-size:\n    clamp(\n      34px,\n      6vw,\n      58px\n    );\n\n  font-weight:730;\n\n  line-height:.98;\n  letter-spacing:-.045em;\n}\n\n.fone-marina .fm-subtitle{\n  margin-top:10px;\n\n  color:#a0a3a8;\n\n  font-size:8px;\n  font-weight:720;\n\n  line-height:1.5;\n  letter-spacing:.13em;\n\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-description{\n  max-width:720px;\n\n  margin:\n    22px 0 0;\n\n  color:var(--fm-text);\n\n  font-size:12px;\n  line-height:1.82;\n}\n\n.fone-marina .fm-description strong{\n  color:#17181a;\n\n  font-weight:650;\n}\n\n.fone-marina .fm-intro-line{\n  width:34px;\n  height:3px;\n\n  margin-top:20px;\n\n  border-radius:999px;\n\n  background:var(--fm-orange);\n}\n\n\n\/* =========================================================\n   IMAGE GALLERY · 1 TO 4 IMAGES · OPTIONAL\n========================================================= *\/\n\n.fone-marina .fm-image-section{\n  display:none;\n\n  margin:\n    4px 0 24px;\n}\n\n.fone-marina .fm-image-section.is-ready{\n  display:block;\n}\n\n.fone-marina .fm-image-frame{\n  position:relative;\n\n  width:100%;\n  max-width:620px;\n\n  aspect-ratio:\n    31 \/ 38;\n\n  margin:0 auto;\n\n  overflow:hidden;\n\n  border-radius:26px;\n\n  background:var(--fm-soft);\n\n  box-shadow:\n    0 14px 38px\n    rgba(17,18,20,.07);\n}\n\n.fone-marina .fm-image-track{\n  display:flex;\n\n  width:100%;\n  height:100%;\n\n  overflow-x:auto;\n  overflow-y:hidden;\n\n  scroll-snap-type:x mandatory;\n  scroll-behavior:smooth;\n\n  overscroll-behavior-x:contain;\n\n  -webkit-overflow-scrolling:touch;\n\n  scrollbar-width:none;\n\n  direction:ltr;\n  touch-action:pan-x pan-y;\n}\n\n.fone-marina\n.fm-image-track::-webkit-scrollbar{\n  display:none;\n}\n\n.fone-marina .fm-image-slide{\n  position:relative;\n\n  flex:\n    0 0 100%;\n\n  width:100%;\n  min-width:100%;\n  height:100%;\n\n  margin:0;\n\n  scroll-snap-align:start;\n  scroll-snap-stop:always;\n\n  background:var(--fm-soft);\n}\n\n.fone-marina .fm-image-slide.is-hidden{\n  display:none;\n}\n\n.fone-marina .fm-image{\n  display:block;\n\n  width:100%;\n  height:100%;\n\n  margin:0;\n\n  object-fit:\n    var(--fm-image-fit);\n\n  object-position:\n    var(--fm-image-position);\n\n  background:var(--fm-soft);\n\n  user-select:none;\n  -webkit-user-drag:none;\n}\n\n.fone-marina\n.fm-image[src*=\"COLLEZ-IMAGE-\"]{\n  visibility:hidden;\n}\n\n.fone-marina .fm-image-frame::after{\n  content:\"\";\n\n  position:absolute;\n\n  left:0;\n  right:0;\n  bottom:0;\n\n  z-index:4;\n\n  height:120px;\n\n  background:\n    linear-gradient(\n      to top,\n      rgba(10,10,11,.38) 0%,\n      rgba(10,10,11,.10) 48%,\n      rgba(10,10,11,0) 100%\n    );\n\n  pointer-events:none;\n}\n\n.fone-marina .fm-image-site{\n  position:absolute;\n\n  left:50%;\n  bottom:15px;\n\n  z-index:6;\n\n  transform:\n    translateX(-50%);\n\n  color:\n    rgba(255,255,255,.96);\n\n  white-space:nowrap;\n\n  font-size:7.5px;\n  font-weight:600;\n\n  letter-spacing:.15em;\n\n  text-shadow:\n    0 1px 4px rgba(0,0,0,.42),\n    0 2px 12px rgba(0,0,0,.22);\n\n  pointer-events:none;\n}\n\n\n\/* COUNTER *\/\n\n.fone-marina .fm-image-counter{\n  position:absolute;\n\n  top:13px;\n  right:13px;\n\n  z-index:7;\n\n  display:none;\n  align-items:center;\n\n  min-width:43px;\n\n  padding:\n    5px 8px;\n\n  border:\n    1px solid\n    rgba(255,255,255,.28);\n\n  border-radius:999px;\n\n  background:\n    rgba(18,19,21,.25);\n\n  color:\n    rgba(255,255,255,.94);\n\n  font-size:7.2px;\n  font-weight:700;\n\n  letter-spacing:.07em;\n\n  backdrop-filter:\n    blur(10px);\n\n  -webkit-backdrop-filter:\n    blur(10px);\n}\n\n.fone-marina\n.fm-image-section.has-multiple\n.fm-image-counter{\n  display:flex;\n}\n\n\n\/* SWIPE HINT *\/\n\n.fone-marina .fm-swipe-hint{\n  position:absolute;\n\n  left:13px;\n  top:13px;\n\n  z-index:7;\n\n  display:none;\n  align-items:center;\n\n  gap:6px;\n\n  padding:\n    5px 8px;\n\n  border:\n    1px solid\n    rgba(255,255,255,.26);\n\n  border-radius:999px;\n\n  background:\n    rgba(18,19,21,.21);\n\n  color:\n    rgba(255,255,255,.90);\n\n  font-size:5.8px;\n  font-weight:700;\n\n  letter-spacing:.10em;\n  text-transform:uppercase;\n\n  backdrop-filter:\n    blur(10px);\n\n  -webkit-backdrop-filter:\n    blur(10px);\n\n  pointer-events:none;\n\n  transition:\n    opacity .28s ease,\n    transform .28s ease;\n}\n\n.fone-marina\n.fm-image-section.has-multiple\n.fm-swipe-hint{\n  display:flex;\n}\n\n.fone-marina\n.fm-image-section.is-used\n.fm-swipe-hint{\n  opacity:0;\n  transform:translateY(-4px);\n}\n\n.fone-marina .fm-swipe-arrow{\n  font-size:11px;\n  line-height:1;\n}\n\n\n\/* DOTS BELOW IMAGE *\/\n\n.fone-marina .fm-image-dots{\n  display:none;\n  align-items:center;\n  justify-content:center;\n\n  gap:7px;\n\n  margin-top:13px;\n\n  direction:ltr;\n}\n\n.fone-marina\n.fm-image-section.has-multiple\n.fm-image-dots{\n  display:flex;\n}\n\n.fone-marina .fm-image-dot{\n  appearance:none;\n  -webkit-appearance:none;\n\n  width:28px;\n  height:4px;\n\n  margin:0;\n  padding:0;\n\n  border:0;\n  border-radius:999px;\n\n  background:#dbdcdf;\n\n  cursor:pointer;\n\n  transition:\n    width .25s ease,\n    background .25s ease;\n}\n\n.fone-marina .fm-image-dot.is-active{\n  width:39px;\n\n  background:\n    var(--fm-orange);\n}\n\n\n\/* =========================================================\n   EDITORIAL FEATURES · 3 KEY STORIES\n========================================================= *\/\n\n.fone-marina .fm-features{\n  margin:\n    2px 0 30px;\n}\n\n.fone-marina .fm-feature{\n  position:relative;\n\n  display:grid;\n\n  grid-template-columns:\n    minmax(112px,.58fr)\n    minmax(0,1.42fr);\n\n  gap:32px;\n\n  padding:\n    21px 0 23px;\n\n  border-top:\n    1px solid\n    var(--fm-line);\n}\n\n.fone-marina .fm-feature:first-child::before{\n  display:none;\n}\n\n.fone-marina .fm-feature-index{\n  margin-bottom:8px;\n\n  color:#b0b3b8;\n\n  font-size:6.8px;\n  font-weight:760;\n\n  letter-spacing:.14em;\n}\n\n.fone-marina .fm-feature-label{\n  color:var(--fm-orange);\n\n  font-size:6.8px;\n  font-weight:790;\n\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-feature-title{\n  max-width:560px;\n\n  margin:0 0 8px;\n\n  color:#111214;\n\n  font-size:\n    clamp(\n      22px,\n      3.2vw,\n      32px\n    );\n\n  font-weight:660;\n\n  line-height:1.08;\n  letter-spacing:-.038em;\n}\n\n.fone-marina .fm-feature-text{\n  max-width:590px;\n\n  margin:0;\n\n  color:#7b7f86;\n\n  font-size:10.8px;\n  line-height:1.72;\n}\n\n.fone-marina .fm-feature-text strong{\n  color:#25272b;\n\n  font-weight:650;\n}\n\n.fone-marina .fm-feature-meta{\n  display:flex;\n  flex-wrap:wrap;\n\n  gap:6px 15px;\n\n  margin-top:11px;\n}\n\n.fone-marina .fm-feature-meta span{\n  position:relative;\n\n  padding-left:11px;\n\n  color:#999ca2;\n\n  font-size:6.6px;\n  font-weight:700;\n\n  letter-spacing:.095em;\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-feature-meta span::before{\n  content:\"\";\n\n  position:absolute;\n\n  left:0;\n  top:50%;\n\n  width:4px;\n  height:4px;\n\n  transform:\n    translateY(-50%);\n\n  border-radius:50%;\n\n  background:\n    var(--fm-orange);\n}\n\n.fone-marina .fm-ar .fm-feature-meta span{\n  padding-left:0;\n  padding-right:11px;\n}\n\n.fone-marina .fm-ar .fm-feature-meta span::before{\n  left:auto;\n  right:0;\n}\n\n\/* =========================================================\n   SINGLE VIDEO · OPTIONAL\n========================================================= *\/\n\n.fone-marina .fm-video-section{\n  display:none;\n\n  margin:\n    30px 0 28px;\n}\n\n.fone-marina .fm-video-section.is-ready{\n  display:block;\n}\n\n.fone-marina .fm-video-heading{\n  display:flex;\n  align-items:center;\n\n  gap:8px;\n\n  max-width:420px;\n\n  margin:\n    0 auto 11px;\n\n  color:#858990;\n\n  font-size:7px;\n  font-weight:750;\n\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-video-heading::before{\n  content:\"\";\n\n  width:5px;\n  height:5px;\n\n  flex:0 0 5px;\n\n  border-radius:50%;\n\n  background:var(--fm-orange);\n}\n\n.fone-marina .fm-video-frame{\n  position:relative;\n\n  width:100%;\n  max-width:420px;\n\n  aspect-ratio:\n    9 \/ 16;\n\n  margin:0 auto;\n\n  overflow:hidden;\n\n  border-radius:24px;\n\n  background:#111;\n\n  box-shadow:\n    0 16px 40px\n    rgba(17,18,20,.09);\n}\n\n.fone-marina .fm-video,\n.fone-marina .fm-youtube{\n  display:none;\n\n  width:100%;\n  height:100%;\n\n  margin:0;\n\n  background:#111;\n}\n\n.fone-marina .fm-video.is-active,\n.fone-marina .fm-youtube.is-active{\n  display:block;\n}\n\n.fone-marina .fm-video{\n  object-fit:cover;\n  object-position:center;\n\n  pointer-events:none;\n\n  -webkit-user-select:none;\n  user-select:none;\n}\n\n.fone-marina .fm-youtube{\n  border:0;\n\n  pointer-events:none;\n}\n\n.fone-marina .fm-video::-webkit-media-controls,\n.fone-marina .fm-video::-webkit-media-controls-panel,\n.fone-marina .fm-video::-webkit-media-controls-play-button,\n.fone-marina .fm-video::-webkit-media-controls-start-playback-button{\n  display:none!important;\n  opacity:0!important;\n}\n\n.fone-marina .fm-video-frame::after{\n  content:\"\";\n\n  position:absolute;\n\n  left:0;\n  right:0;\n  bottom:0;\n\n  height:115px;\n\n  z-index:2;\n\n  background:\n    linear-gradient(\n      to top,\n      rgba(10,10,11,.48) 0%,\n      rgba(10,10,11,.14) 48%,\n      rgba(10,10,11,0) 100%\n    );\n\n  pointer-events:none;\n}\n\n.fone-marina .fm-video-site{\n  position:absolute;\n\n  left:50%;\n  bottom:15px;\n\n  z-index:4;\n\n  transform:\n    translateX(-50%);\n\n  color:\n    rgba(255,255,255,.96);\n\n  white-space:nowrap;\n\n  font-size:7.5px;\n  font-weight:600;\n\n  letter-spacing:.15em;\n\n  text-shadow:\n    0 1px 4px rgba(0,0,0,.42),\n    0 2px 12px rgba(0,0,0,.22);\n\n  pointer-events:none;\n}\n\n\n\/* =========================================================\n   SOUND BUTTON\n========================================================= *\/\n\n.fone-marina .fm-sound{\n  position:absolute;\n\n  top:14px;\n  right:14px;\n\n  z-index:6;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  width:38px;\n  height:38px;\n\n  padding:0;\n\n  border:\n    1px solid\n    rgba(255,255,255,.30);\n\n  border-radius:50%;\n\n  background:\n    rgba(15,15,16,.46);\n\n  color:#fff;\n\n  cursor:pointer;\n\n  backdrop-filter:\n    blur(10px);\n\n  -webkit-backdrop-filter:\n    blur(10px);\n\n  transition:\n    background .2s ease,\n    transform .2s ease;\n}\n\n.fone-marina .fm-sound:hover{\n  background:\n    rgba(15,15,16,.62);\n}\n\n.fone-marina .fm-sound:active{\n  transform:scale(.94);\n}\n\n.fone-marina .fm-sound svg{\n  display:block;\n\n  width:17px;\n  height:17px;\n\n  fill:none;\n  stroke:currentColor;\n\n  stroke-width:1.8;\n  stroke-linecap:round;\n  stroke-linejoin:round;\n}\n\n.fone-marina .fm-icon-on{\n  display:none;\n}\n\n.fone-marina\n.fm-sound.is-on\n.fm-icon-off{\n  display:none;\n}\n\n.fone-marina\n.fm-sound.is-on\n.fm-icon-on{\n  display:block;\n}\n\n\n\/* =========================================================\n   DETAILS\n========================================================= *\/\n\n.fone-marina .fm-details{\n  margin-top:22px;\n}\n\n.fone-marina .fm-tech{\n  border-top:\n    1px solid\n    #dedfe2;\n\n  border-bottom:\n    1px solid\n    #dedfe2;\n}\n\n.fone-marina .fm-tech summary{\n  position:relative;\n\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n\n  min-height:62px;\n\n  padding:\n    0 36px 0 0;\n\n  color:#111214;\n\n  cursor:pointer;\n  list-style:none;\n  user-select:none;\n}\n\n.fone-marina\n.fm-tech\nsummary::-webkit-details-marker{\n  display:none;\n}\n\n.fone-marina\n.fm-tech\nsummary::before,\n\n.fone-marina\n.fm-tech\nsummary::after{\n  content:\"\";\n\n  position:absolute;\n\n  right:3px;\n  top:50%;\n\n  width:14px;\n  height:1.3px;\n\n  border-radius:999px;\n\n  background:#151619;\n\n  transform:\n    translateY(-50%);\n\n  transition:\n    transform .22s ease;\n}\n\n.fone-marina\n.fm-tech\nsummary::after{\n  transform:\n    translateY(-50%)\n    rotate(90deg);\n}\n\n.fone-marina\n.fm-tech[open]\nsummary::after{\n  transform:\n    translateY(-50%);\n}\n\n.fone-marina .fm-tech-label{\n  display:flex;\n  align-items:center;\n\n  gap:9px;\n\n  color:#25272b;\n\n  font-size:8.5px;\n  font-weight:780;\n\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.fone-marina .fm-tech-label::before{\n  content:\"\";\n\n  width:5px;\n  height:5px;\n\n  flex:0 0 5px;\n\n  border-radius:50%;\n\n  background:\n    var(--fm-orange);\n}\n\n.fone-marina .fm-specs{\n  padding:\n    2px 0 14px;\n}\n\n.fone-marina .fm-spec{\n  display:grid;\n\n  grid-template-columns:\n    42% 58%;\n\n  gap:12px;\n\n  padding:\n    10px 0;\n\n  border-top:\n    1px solid\n    #f1f1f3;\n}\n\n.fone-marina .fm-spec-name{\n  color:#90949b;\n\n  font-size:9.5px;\n  line-height:1.5;\n}\n\n.fone-marina .fm-spec-value{\n  color:#222326;\n\n  font-size:10px;\n  font-weight:650;\n\n  line-height:1.5;\n\n  text-align:right;\n}\n\n\/* =========================================================\n   AR TECH\n========================================================= *\/\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-tech summary{\n  direction:rtl;\n\n  padding:\n    0 0 0 32px;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-tech summary::before,\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-tech summary::after{\n  right:auto;\n  left:2px;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-spec{\n  direction:rtl;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-spec-name{\n  text-align:right;\n}\n\n.fone-marina\n#fm-lang-ar:checked\n~ .fm-shell\n.fm-spec-value{\n  text-align:left;\n}\n\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media screen and (max-width:749px){\n\n  .fone-marina .fm-top{\n    padding:\n      4px 0 17px;\n  }\n\n  .fone-marina .fm-intro{\n    padding:\n      21px 0 29px;\n  }\n\n  .fone-marina .fm-title{\n    font-size:36px;\n  }\n\n  .fone-marina .fm-description{\n    margin-top:18px;\n\n    font-size:11px;\n    line-height:1.72;\n  }\n\n  .fone-marina .fm-image-section{\n    margin-bottom:22px;\n  }\n\n  .fone-marina .fm-image-frame{\n    width:\n      calc(100% + 28px);\n\n    max-width:none;\n\n    height:520px;\n\n    aspect-ratio:auto;\n\n    margin-right:-14px;\n    margin-left:-14px;\n\n    border-radius:24px;\n  }\n\n  .fone-marina .fm-image-counter{\n    top:11px;\n    right:11px;\n\n    min-width:41px;\n\n    padding:\n      5px 7px;\n\n    font-size:6.9px;\n  }\n\n  .fone-marina .fm-swipe-hint{\n    top:11px;\n    left:11px;\n\n    padding:\n      5px 7px;\n\n    font-size:5.4px;\n  }\n\n  .fone-marina .fm-image-dot{\n    width:25px;\n  }\n\n  .fone-marina .fm-image-dot.is-active{\n    width:35px;\n  }\n\n  .fone-marina .fm-feature{\n    grid-template-columns:1fr;\n\n    gap:7px;\n\n    padding:\n      18px 0 20px;\n  }\n\n  .fone-marina .fm-feature-index{\n    display:inline-block;\n\n    margin:\n      0 9px 0 0;\n  }\n\n  .fone-marina .fm-feature-label{\n    display:inline-block;\n\n    color:var(--fm-orange);\n  }\n\n  .fone-marina .fm-feature-index{\n    color:#b0b3b8;\n  }\n\n  .fone-marina .fm-feature-title{\n    max-width:350px;\n\n    margin-bottom:6px;\n\n    font-size:23px;\n    line-height:1.10;\n  }\n\n  .fone-marina .fm-feature-text{\n    max-width:none;\n\n    font-size:10.1px;\n    line-height:1.68;\n  }\n\n  .fone-marina .fm-feature-meta{\n    margin-top:10px;\n\n    gap:\n      5px 13px;\n  }\n\n  .fone-marina .fm-feature-meta span{\n    font-size:6.7px;\n  }\n\n  .fone-marina .fm-image-site{\n    bottom:13px;\n\n    font-size:7px;\n  }\n\n  .fone-marina .fm-break{\n    grid-template-columns:1fr;\n\n    gap:14px;\n\n    padding:\n      26px 0 29px;\n  }\n\n  .fone-marina .fm-break::before{\n    width:36px;\n  }\n\n  .fone-marina .fm-break-kicker{\n    margin-bottom:9px;\n  }\n\n  .fone-marina .fm-break-title{\n    max-width:330px;\n\n    font-size:29px;\n    line-height:1.06;\n  }\n\n  .fone-marina .fm-break-copy{\n    max-width:none;\n\n    font-size:10.7px;\n    line-height:1.76;\n  }\n\n  .fone-marina .fm-break-note{\n    margin-top:13px;\n\n    font-size:6.7px;\n  }\n\n  .fone-marina .fm-video-section{\n    margin:\n      26px 0 24px;\n  }\n\n  .fone-marina .fm-video-heading{\n    max-width:none;\n\n    margin-bottom:9px;\n\n    font-size:6.8px;\n  }\n\n  .fone-marina .fm-video-frame{\n    width:\n      calc(100% + 28px);\n\n    max-width:none;\n\n    margin-right:-14px;\n    margin-left:-14px;\n\n    border-radius:24px;\n  }\n\n  .fone-marina .fm-video-site{\n    bottom:12px;\n\n    font-size:7px;\n  }\n\n  .fone-marina .fm-sound{\n    top:12px;\n    right:12px;\n\n    width:36px;\n    height:36px;\n  }\n\n  .fone-marina .fm-details{\n    margin-top:14px;\n  }\n\n  .fone-marina .fm-tech summary{\n    min-height:58px;\n  }\n\n  .fone-marina .fm-spec{\n    grid-template-columns:\n      40% 60%;\n\n    gap:8px;\n  }\n\n}\n\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media screen and (min-width:750px) and (max-width:1099px){\n\n  .fone-marina .fm-image-frame{\n    max-width:580px;\n\n    height:720px;\n\n    aspect-ratio:auto;\n  }\n\n}\n\n\n\/* =========================================================\n   REDUCED MOTION\n========================================================= *\/\n\n@media (prefers-reduced-motion:reduce){\n\n  .fone-marina *,\n  .fone-marina *::before,\n  .fone-marina *::after{\n    transition-duration:.01ms!important;\n    animation-duration:.01ms!important;\n  }\n\n}\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"fone-marina\"\u003e\n\n  \u003c!-- =====================================================\n       MEDIA LINKS · اختياري\n       يمكنك وضع الروابط هنا، أو مباشرة داخل src لكل صورة.\n       الكود يستعمل الرابط الصحيح تلقائيا.\n       اترك أي رابط غير مستعمل على COLLEZ-...\n  ====================================================== --\u003e\n\n  \u003cdiv class=\"fm-media-config\"\u003e\n    \u003cspan data-fm-key=\"image-1\" data-url=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0761\/3857\/8058\/files\/2026_10_19_17_44_IMG_2417.jpg?v=1792437270\"\u003e\u003c\/span\u003e\n    \u003cspan data-fm-key=\"image-2\" data-url=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0761\/3857\/8058\/files\/2026_10_19_17_44_IMG_2418.jpg?v=1792437269\"\u003e\u003c\/span\u003e\n    \u003cspan data-fm-key=\"image-3\" data-url=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0761\/3857\/8058\/files\/2026_10_19_17_44_IMG_2419.jpg?v=1792437269\"\u003e\u003c\/span\u003e\n    \u003cspan data-fm-key=\"image-4\" data-url=\"COLLEZ-IMAGE-4-ICI\"\u003e\u003c\/span\u003e\n    \u003cspan data-fm-key=\"video-shopify\" data-url=\"COLLEZ-VIDEO-SHOPIFY-ICI\"\u003e\u003c\/span\u003e\n    \u003cspan data-fm-key=\"video-youtube\" data-url=\"COLLEZ-YOUTUBE-ICI\"\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n\n\n  \u003c!-- =====================================================\n       LANG\n  ====================================================== --\u003e\n\n  \u003cinput class=\"fm-lang-radio\" type=\"radio\" name=\"fm-language\" id=\"fm-lang-fr\" checked\u003e\n\n  \u003cinput class=\"fm-lang-radio\" type=\"radio\" name=\"fm-language\" id=\"fm-lang-ar\"\u003e\n\n\n  \u003cdiv class=\"fm-shell\"\u003e\n\n\n    \u003c!-- =====================================================\n         TOP\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-top\"\u003e\n\n      \u003cdiv class=\"fm-top-mark\" aria-hidden=\"true\"\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fm-lang-switch\"\u003e\n\n        \u003clabel for=\"fm-lang-fr\"\u003e\n          FR\n        \u003c\/label\u003e\n\n        \u003clabel for=\"fm-lang-ar\"\u003e\n          العربية\n        \u003c\/label\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- =====================================================\n         INTRO FR\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-fr\"\u003e\n      \u003csection class=\"fm-intro\"\u003e\n        \u003cdiv class=\"fm-brand\"\u003eHYBRID MATTE\u003c\/div\u003e\n        \u003ch2 class=\"fm-title\"\u003eMAGSAFE CASE\u003c\/h2\u003e\n        \u003cdiv class=\"fm-subtitle\"\u003eFinition mate · MagSafe · Protection slim\u003c\/div\u003e\n\n        \u003cp class=\"fm-description\"\u003e\n          \u003cstrong\u003eHYBRID MATTE\u003c\/strong\u003e combine un dos\n          \u003cstrong\u003emat semi-transparent\u003c\/strong\u003e avec un contour souple pensé pour\n          protéger l’iPhone sans alourdir son design. L’anneau magnétique intégré\n          assure la compatibilité avec les \u003cstrong\u003echargeurs et accessoires MagSafe\u003c\/strong\u003e,\n          tandis que la finition soft-touch améliore la prise en main et aide à\n          limiter les traces au quotidien. Le contour caméra surélevé et les bords\n          renforcés apportent une protection supplémentaire contre les chocs et les\n          contacts directs avec les surfaces.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"fm-intro-line\"\u003e\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- =====================================================\n         INTRO AR\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-ar\"\u003e\n      \u003csection class=\"fm-intro\"\u003e\n        \u003cdiv class=\"fm-brand\"\u003eHYBRID MATTE\u003c\/div\u003e\n        \u003ch2 class=\"fm-title\"\u003eMAGSAFE CASE\u003c\/h2\u003e\n        \u003cdiv class=\"fm-subtitle\"\u003eلمسة مطفية · MagSafe · حماية نحيفة\u003c\/div\u003e\n\n        \u003cp class=\"fm-description\"\u003e\n          يجمع كوفر \u003cstrong\u003eHYBRID MATTE\u003c\/strong\u003e بين ظهر\n          \u003cstrong\u003eمطفي شبه شفاف\u003c\/strong\u003e وإطار مرن يساعد على حماية الآيفون دون\n          إضافة سماكة زائدة. الحلقة المغناطيسية المدمجة توفر توافقًا مع\n          \u003cstrong\u003eشواحن وإكسسوارات MagSafe\u003c\/strong\u003e، بينما تمنح اللمسة الناعمة\n          قبضة مريحة وتساعد على تقليل آثار الاستخدام اليومي. كما يوفر الإطار\n          المرتفع حول الكاميرا والحواف المعززة حماية إضافية من الصدمات والاحتكاك\n          المباشر بالأسطح.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"fm-intro-line\"\u003e\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- =====================================================\n         IMAGE GALLERY · 1 TO 4 IMAGES\n\n         الروابط موجودة في أعلى الكود داخل fm-media-config.\n         إذا وضعت صورة واحدة فقط: لا تظهر النقاط.\n         إذا وضعت 2 إلى 4 صور: الزبون يسحب يمين \/ يسار.\n    ====================================================== --\u003e\n\n    \u003csection class=\"fm-image-section\" data-fm-image-section\u003e\n\n      \u003cdiv class=\"fm-image-frame\"\u003e\n\n        \u003cdiv class=\"fm-image-track\" data-fm-image-track aria-label=\"Galerie produit\"\u003e\n\n\n          \u003cfigure class=\"fm-image-slide\" data-fm-slide=\"1\"\u003e\n\n            \u003cimg class=\"fm-image\" src=\"COLLEZ-IMAGE-1-ICI\" alt=\"HYBRID MATTE MagSafe Case · Image 1\" loading=\"eager\"\u003e\n\n          \u003c\/figure\u003e\n\n\n          \u003cfigure class=\"fm-image-slide\" data-fm-slide=\"2\"\u003e\n\n            \u003cimg class=\"fm-image\" src=\"COLLEZ-IMAGE-2-ICI\" alt=\"HYBRID MATTE MagSafe Case · Image 2\" loading=\"lazy\"\u003e\n\n          \u003c\/figure\u003e\n\n\n          \u003cfigure class=\"fm-image-slide\" data-fm-slide=\"3\"\u003e\n\n            \u003cimg class=\"fm-image\" src=\"COLLEZ-IMAGE-3-ICI\" alt=\"HYBRID MATTE MagSafe Case · Image 3\" loading=\"lazy\"\u003e\n\n          \u003c\/figure\u003e\n\n\n          \u003cfigure class=\"fm-image-slide\" data-fm-slide=\"4\"\u003e\n\n            \u003cimg class=\"fm-image\" src=\"COLLEZ-IMAGE-4-ICI\" alt=\"HYBRID MATTE MagSafe Case · Image 4\" loading=\"lazy\"\u003e\n\n          \u003c\/figure\u003e\n\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"fm-swipe-hint\" aria-hidden=\"true\"\u003e\n\n          \u003cspan class=\"fm-swipe-arrow\"\u003e\n            ↔\n          \u003c\/span\u003e\n\n          \u003cspan class=\"fm-fr\"\u003e\n            Faites glisser\n          \u003c\/span\u003e\n\n          \u003cspan class=\"fm-ar\"\u003e\n            اسحب الصور\n          \u003c\/span\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"fm-image-counter\" data-fm-image-counter\u003e\n          01 \/ 01\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"fm-image-site\"\u003e\n          www.fone.ma\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"fm-image-dots\" data-fm-image-dots aria-label=\"Navigation images\"\u003e\u003c\/div\u003e\n\n\n    \u003c\/section\u003e\n\n\n    \u003c!-- =====================================================\n         EDITORIAL FEATURES · FR\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-fr\"\u003e\n      \u003csection class=\"fm-features\"\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e01\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003eFINITION\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eMatte, net et agréable en main.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              Le dos \u003cstrong\u003esemi-transparent mat\u003c\/strong\u003e laisse deviner la couleur\n              de l’iPhone tout en donnant à la coque un rendu plus discret.\n              La finition soft-touch améliore le grip et aide à réduire les traces\n              visibles pendant l’utilisation.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eMatte\u003c\/span\u003e\n              \u003cspan\u003eSoft-touch\u003c\/span\u003e\n              \u003cspan\u003eSemi-transparent\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e02\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003ePROTECTION\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eUne structure hybride, sans volume inutile.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              Le contour souple absorbe mieux les petits chocs du quotidien tandis\n              que le dos conserve une bonne tenue. Les bords surélevés autour de\n              l’écran et de la caméra limitent le contact direct avec les surfaces,\n              tout en maintenant un \u003cstrong\u003eprofil fin\u003c\/strong\u003e.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eShock Protection\u003c\/span\u003e\n              \u003cspan\u003eBords surélevés\u003c\/span\u003e\n              \u003cspan\u003eSlim Profile\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e03\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003eMAGSAFE\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eLe magnétique est déjà intégré.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              L’anneau magnétique intégré permet d’utiliser facilement les\n              \u003cstrong\u003echargeurs, supports et accessoires MagSafe compatibles\u003c\/strong\u003e.\n              Aucun anneau additionnel n’est nécessaire : la fonction magnétique\n              fait directement partie de la coque.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eMagSafe\u003c\/span\u003e\n              \u003cspan\u003eAccessoires magnétiques\u003c\/span\u003e\n              \u003cspan\u003eCharge sans fil\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- =====================================================\n         EDITORIAL FEATURES · AR\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-ar\"\u003e\n      \u003csection class=\"fm-features\"\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e01\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003eاللمسة\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eمطفية، نظيفة ومريحة في اليد.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              يسمح الظهر \u003cstrong\u003eالمطفي شبه الشفاف\u003c\/strong\u003e بظهور لون الآيفون\n              بشكل خفيف مع مظهر أكثر هدوءًا وأناقة. كما تمنح اللمسة الناعمة\n              قبضة أفضل وتساعد على تقليل ظهور آثار الاستخدام.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eMatte\u003c\/span\u003e\n              \u003cspan\u003eSoft-touch\u003c\/span\u003e\n              \u003cspan\u003eشبه شفاف\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e02\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003eالحماية\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eحماية Hybrid بدون سماكة زائدة.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              يساعد الإطار المرن على امتصاص الصدمات الخفيفة اليومية، بينما يحافظ\n              الظهر على ثبات الكوفر. كما توفر الحواف المرتفعة حول الشاشة والكاميرا\n              مسافة إضافية عن الأسطح مع الحفاظ على \u003cstrong\u003eتصميم نحيف\u003c\/strong\u003e.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eحماية من الصدمات\u003c\/span\u003e\n              \u003cspan\u003eحواف مرتفعة\u003c\/span\u003e\n              \u003cspan\u003eتصميم نحيف\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"fm-feature\"\u003e\n          \u003cdiv\u003e\n            \u003cdiv class=\"fm-feature-index\"\u003e03\u003c\/div\u003e\n            \u003cdiv class=\"fm-feature-label\"\u003eMAGSAFE\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3 class=\"fm-feature-title\"\u003eالمغناطيس مدمج داخل الكوفر.\u003c\/h3\u003e\n            \u003cp class=\"fm-feature-text\"\u003e\n              الحلقة المغناطيسية المدمجة تسمح باستخدام\n              \u003cstrong\u003eشواحن وحوامل وإكسسوارات MagSafe المتوافقة\u003c\/strong\u003e\n              مباشرة دون الحاجة إلى تركيب حلقة إضافية خارجية.\n            \u003c\/p\u003e\n            \u003cdiv class=\"fm-feature-meta\"\u003e\n              \u003cspan\u003eMagSafe\u003c\/span\u003e\n              \u003cspan\u003eإكسسوارات مغناطيسية\u003c\/span\u003e\n              \u003cspan\u003eشحن لاسلكي\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- =====================================================\n         VIDEO · ONE ONLY\n\n         يدعم:\n         Shopify \/ MP4\n         YouTube \/ YouTube Shorts\n\n         ضع الرابط في القسم 05 أو 06 أعلى الكود.\n    ====================================================== --\u003e\n\n    \u003csection class=\"fm-video-section\" data-fm-video-section\u003e\n\n      \u003cdiv class=\"fm-video-heading\"\u003e\n\n        \u003cspan class=\"fm-fr\"\u003e\n          Vidéo produit\n        \u003c\/span\u003e\n\n        \u003cspan class=\"fm-ar\"\u003e\n          فيديو المنتج\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"fm-video-frame\"\u003e\n\n\n        \u003c!-- SHOPIFY \/ MP4 --\u003e\n        \u003cvideo class=\"fm-video\" data-fm-video-native autoplay muted loop playsinline preload=\"metadata\"\u003e\n        \u003c\/video\u003e\n\n\n        \u003c!-- YOUTUBE --\u003e\n        \u003ciframe class=\"fm-youtube\" data-fm-youtube title=\"Vidéo produit\" allow=\"autoplay; encrypted-media; picture-in-picture\" allowfullscreen\u003e\n        \u003c\/iframe\u003e\n\n\n        \u003cbutton class=\"fm-sound\" type=\"button\" aria-label=\"Activer le son\" data-fm-sound\u003e\n\n          \u003c!-- SOUND OFF --\u003e\n\n          \u003csvg class=\"fm-icon-off\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M11 5 6.8 8.5H3.5v7h3.3L11 19V5Z\"\u003e\u003c\/path\u003e\n            \u003cpath d=\"m17 9 4 4\"\u003e\u003c\/path\u003e\n            \u003cpath d=\"m21 9-4 4\"\u003e\u003c\/path\u003e\n          \u003c\/svg\u003e\n\n\n          \u003c!-- SOUND ON --\u003e\n\n          \u003csvg class=\"fm-icon-on\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M11 5 6.8 8.5H3.5v7h3.3L11 19V5Z\"\u003e\u003c\/path\u003e\n            \u003cpath d=\"M15 9.5a4 4 0 0 1 0 5\"\u003e\u003c\/path\u003e\n            \u003cpath d=\"M18 7a7 7 0 0 1 0 10\"\u003e\u003c\/path\u003e\n          \u003c\/svg\u003e\n\n        \u003c\/button\u003e\n\n\n        \u003cdiv class=\"fm-video-site\"\u003e\n          www.fone.ma\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/section\u003e\n\n\n    \u003c!-- =====================================================\n         DETAILS\n    ====================================================== --\u003e\n\n    \u003cdiv class=\"fm-details\"\u003e\n      \u003cdetails class=\"fm-tech\"\u003e\n        \u003csummary\u003e\n          \u003cspan class=\"fm-tech-label fm-fr\"\u003eDétails du produit\u003c\/span\u003e\n          \u003cspan class=\"fm-tech-label fm-ar\"\u003eتفاصيل المنتج\u003c\/span\u003e\n        \u003c\/summary\u003e\n\n        \u003cdiv class=\"fm-specs\"\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eType\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eالنوع\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\u003cspan class=\"fm-fr\"\u003eCoque hybride magnétique\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eكوفر Hybrid مغناطيسي\u003c\/span\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eFinition\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eاللمسة\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\u003cspan class=\"fm-fr\"\u003eDos mat semi-transparent · soft-touch\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eظهر مطفي شبه شفاف · لمسة ناعمة\u003c\/span\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eMagnétique\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eالمغناطيس\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\u003cspan class=\"fm-fr\"\u003eAnneau intégré compatible MagSafe\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eحلقة مدمجة متوافقة مع MagSafe\u003c\/span\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eProtection\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eالحماية\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\u003cspan class=\"fm-fr\"\u003eContour antichoc · bords caméra et écran surélevés\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eإطار مقاوم للصدمات · حواف مرتفعة للكاميرا والشاشة\u003c\/span\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eProfil\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eالتصميم\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\u003cspan class=\"fm-fr\"\u003eSlim Profile\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eتصميم نحيف\u003c\/span\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"fm-spec\"\u003e\n            \u003cspan class=\"fm-spec-name\"\u003e\u003cspan class=\"fm-fr\"\u003eCompatibilité\u003c\/span\u003e\u003cspan class=\"fm-ar\"\u003eالتوافق\u003c\/span\u003e\u003c\/span\u003e\n            \u003cspan class=\"fm-spec-value\"\u003e\n              \u003cspan class=\"fm-fr\"\u003eiPhone 17 Pro · iPhone 17 Pro Max · iPhone 18 Pro · iPhone 18 Pro Max — selon variante\u003c\/span\u003e\n              \u003cspan class=\"fm-ar\"\u003eiPhone 17 Pro · iPhone 17 Pro Max · iPhone 18 Pro · iPhone 18 Pro Max — حسب الاختيار\u003c\/span\u003e\n            \u003c\/span\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003cscript\u003e\n(function(){\n\n\n  document\n  .querySelectorAll(\n    '.fone-marina'\n  )\n  .forEach(\n    function(root){\n\n\n      \/* =====================================================\n         MEDIA CONFIG\n      ====================================================== *\/\n\n      const mediaConfig =\n        root.querySelector(\n          '.fm-media-config'\n        );\n\n\n      function mediaValue(name){\n\n        if(!mediaConfig){\n          return '';\n        }\n\n\n        const mediaItem =\n          mediaConfig.querySelector(\n            '[data-fm-key=\"' + name + '\"]'\n          );\n\n\n        if(mediaItem){\n\n          return (\n            mediaItem.getAttribute(\n              'data-url'\n            )\n            ||\n            ''\n          ).trim();\n\n        }\n\n\n        \/* fallback للنسخ القديمة *\/\n\n        return (\n          mediaConfig.getAttribute(\n            'data-' + name\n          )\n          ||\n          ''\n        ).trim();\n\n      }\n\n\n      \/* =====================================================\n         IMAGE GALLERY · 1 TO 4\n      ====================================================== *\/\n\n      const imageSection =\n        root.querySelector(\n          '[data-fm-image-section]'\n        );\n\n      const imageTrack =\n        root.querySelector(\n          '[data-fm-image-track]'\n        );\n\n      const imageCounter =\n        root.querySelector(\n          '[data-fm-image-counter]'\n        );\n\n      const imageDots =\n        root.querySelector(\n          '[data-fm-image-dots]'\n        );\n\n      const allSlides =\n        Array.from(\n          root.querySelectorAll(\n            '.fm-image-slide'\n          )\n        );\n\n\n      const validSlides =\n        [];\n\n\n      allSlides.forEach(\n        function(slide,index){\n\n          const img =\n            slide.querySelector(\n              '.fm-image'\n            );\n\n          if(!img){\n\n            slide.classList.add(\n              'is-hidden'\n            );\n\n            return;\n\n          }\n\n\n          \/*\n             ROBUST IMAGE SOURCE\n             1) إذا وضعت الرابط في fm-media-config نستعمله.\n             2) إذا بقي COLLEZ... نستعمل src الموجود مباشرة داخل \u003cimg\u003e.\n             3) إذا الاثنين فارغين\/placeholder نخفي الصورة فقط.\n          *\/\n\n          const configuredValue =\n            mediaValue(\n              'image-' + (index + 1)\n            );\n\n\n          const inlineValue =\n            (\n              img.getAttribute(\n                'src'\n              )\n              ||\n              ''\n            ).trim();\n\n\n          const configuredIsValid =\n            configuredValue\n            \u0026\u0026\n            configuredValue.indexOf(\n              'COLLEZ-IMAGE-'\n            ) === -1;\n\n\n          const inlineIsValid =\n            inlineValue\n            \u0026\u0026\n            inlineValue.indexOf(\n              'COLLEZ-IMAGE-'\n            ) === -1;\n\n\n          const value =\n            configuredIsValid\n            ? configuredValue\n            : (\n                inlineIsValid\n                ? inlineValue\n                : ''\n              );\n\n\n          if(!value){\n\n            slide.classList.add(\n              'is-hidden'\n            );\n\n            return;\n\n          }\n\n\n          img.setAttribute(\n            'src',\n            value\n          );\n\n\n          slide.classList.remove(\n            'is-hidden'\n          );\n\n\n          validSlides.push(\n            slide\n          );\n\n\n          img.addEventListener(\n            'error',\n            function(){\n\n              slide.classList.add(\n                'is-hidden'\n              );\n\n              initGallery();\n\n            }\n          );\n\n        }\n      );\n\n\n      let activeSlides =\n        [];\n\n\n      function pad2(value){\n\n        return String(\n          value\n        ).padStart(\n          2,\n          '0'\n        );\n\n      }\n\n\n      function initGallery(){\n\n        if(\n          !imageSection\n          ||\n          !imageTrack\n        ){\n          return;\n        }\n\n\n        activeSlides =\n          allSlides.filter(\n            function(slide){\n\n              return !slide.classList.contains(\n                'is-hidden'\n              );\n\n            }\n          );\n\n\n        const total =\n          activeSlides.length;\n\n\n        if(total === 0){\n\n          imageSection.classList.remove(\n            'is-ready'\n          );\n\n          imageSection.classList.remove(\n            'has-multiple'\n          );\n\n          imageSection.style.display =\n            'none';\n\n          return;\n\n        }\n\n\n        imageSection.style.display =\n          '';\n\n        imageSection.classList.add(\n          'is-ready'\n        );\n\n        imageSection.classList.toggle(\n          'has-multiple',\n          total \u003e 1\n        );\n\n\n        if(imageDots){\n\n          imageDots.innerHTML =\n            '';\n\n\n          if(total \u003e 1){\n\n            activeSlides.forEach(\n              function(slide,index){\n\n                const dot =\n                  document.createElement(\n                    'button'\n                  );\n\n\n                dot.type =\n                  'button';\n\n                dot.className =\n                  'fm-image-dot'\n                  +\n                  (\n                    index === 0\n                    ? ' is-active'\n                    : ''\n                  );\n\n                dot.setAttribute(\n                  'aria-label',\n                  'Image ' + (index + 1)\n                );\n\n\n                dot.addEventListener(\n                  'click',\n                  function(){\n\n                    imageTrack.scrollTo({\n                      left:\n                        activeSlides[index].offsetLeft,\n                      behavior:'smooth'\n                    });\n\n                  }\n                );\n\n\n                imageDots.appendChild(\n                  dot\n                );\n\n              }\n            );\n\n          }\n\n        }\n\n\n        updateGalleryUI(\n          0\n        );\n\n      }\n\n\n      function currentGalleryIndex(){\n\n        if(\n          !imageTrack\n          ||\n          activeSlides.length === 0\n        ){\n          return 0;\n        }\n\n\n        const center =\n          imageTrack.scrollLeft\n          +\n          imageTrack.clientWidth \/ 2;\n\n\n        let closestIndex =\n          0;\n\n        let closestDistance =\n          Infinity;\n\n\n        activeSlides.forEach(\n          function(slide,index){\n\n            const slideCenter =\n              slide.offsetLeft\n              +\n              slide.offsetWidth \/ 2;\n\n\n            const distance =\n              Math.abs(\n                center\n                -\n                slideCenter\n              );\n\n\n            if(\n              distance\n              \u003c\n              closestDistance\n            ){\n\n              closestDistance =\n                distance;\n\n              closestIndex =\n                index;\n\n            }\n\n          }\n        );\n\n\n        return closestIndex;\n\n      }\n\n\n      function updateGalleryUI(index){\n\n        const total =\n          activeSlides.length;\n\n\n        if(\n          total === 0\n        ){\n          return;\n        }\n\n\n        const safeIndex =\n          Math.max(\n            0,\n            Math.min(\n              total - 1,\n              index\n            )\n          );\n\n\n        if(imageCounter){\n\n          imageCounter.textContent =\n            pad2(\n              safeIndex + 1\n            )\n            +\n            ' \/ '\n            +\n            pad2(\n              total\n            );\n\n        }\n\n\n        if(imageDots){\n\n          Array.from(\n            imageDots.querySelectorAll(\n              '.fm-image-dot'\n            )\n          )\n          .forEach(\n            function(dot,dotIndex){\n\n              dot.classList.toggle(\n                'is-active',\n                dotIndex === safeIndex\n              );\n\n            }\n          );\n\n        }\n\n      }\n\n\n      if(imageTrack){\n\n        let galleryTicking =\n          false;\n\n\n        imageTrack.addEventListener(\n          'scroll',\n          function(){\n\n            if(imageSection){\n              imageSection.classList.add(\n                'is-used'\n              );\n            }\n\n            if(galleryTicking){\n              return;\n            }\n\n\n            galleryTicking =\n              true;\n\n\n            requestAnimationFrame(\n              function(){\n\n                updateGalleryUI(\n                  currentGalleryIndex()\n                );\n\n                galleryTicking =\n                  false;\n\n              }\n            );\n\n          },\n          {\n            passive:true\n          }\n        );\n\n      }\n\n\n      initGallery();\n\n\n      \/* =====================================================\n         OPTIONAL VIDEO · SHOPIFY \/ MP4 + YOUTUBE\n         الأولوية: Shopify\/MP4 إذا وُجد، وإلا YouTube\n      ====================================================== *\/\n\n      const videoSection =\n        root.querySelector(\n          '[data-fm-video-section]'\n        );\n\n      const nativeVideo =\n        root.querySelector(\n          '[data-fm-video-native]'\n        );\n\n      const youtubeFrame =\n        root.querySelector(\n          '[data-fm-youtube]'\n        );\n\n      const soundButton =\n        root.querySelector(\n          '[data-fm-sound]'\n        );\n\n\n      if(!videoSection){\n        return;\n      }\n\n\n      const shopifyUrl =\n        mediaValue(\n          'video-shopify'\n        );\n\n      const youtubeUrl =\n        mediaValue(\n          'video-youtube'\n        );\n\n\n      const hasShopify =\n        shopifyUrl\n        \u0026\u0026\n        shopifyUrl.indexOf(\n          'COLLEZ-VIDEO-SHOPIFY-ICI'\n        ) === -1;\n\n\n      const hasYoutube =\n        youtubeUrl\n        \u0026\u0026\n        youtubeUrl.indexOf(\n          'COLLEZ-YOUTUBE-ICI'\n        ) === -1;\n\n\n      function getYoutubeId(url){\n\n        if(!url){\n          return '';\n        }\n\n\n        const value =\n          url.trim();\n\n\n        let match =\n          value.match(\n            \/(?:youtube\\.com\\\/watch\\?v=|youtu\\.be\\\/|youtube\\.com\\\/shorts\\\/|youtube\\.com\\\/embed\\\/)([A-Za-z0-9_-]{6,})\/\n          );\n\n\n        if(match \u0026\u0026 match[1]){\n          return match[1];\n        }\n\n\n        try{\n\n          const parsed =\n            new URL(\n              value\n            );\n\n\n          const v =\n            parsed.searchParams.get(\n              'v'\n            );\n\n\n          if(v){\n            return v;\n          }\n\n        } catch(error){}\n\n\n        return '';\n\n      }\n\n\n      let activeVideoType =\n        '';\n\n\n      function showNativeVideo(){\n\n        if(\n          !nativeVideo\n          ||\n          !hasShopify\n        ){\n          return false;\n        }\n\n\n        nativeVideo.setAttribute(\n          'src',\n          shopifyUrl\n        );\n\n        nativeVideo.classList.add(\n          'is-active'\n        );\n\n\n        if(youtubeFrame){\n\n          youtubeFrame.classList.remove(\n            'is-active'\n          );\n\n          youtubeFrame.removeAttribute(\n            'src'\n          );\n\n        }\n\n\n        nativeVideo.muted =\n          true;\n\n        nativeVideo.defaultMuted =\n          true;\n\n        nativeVideo.playsInline =\n          true;\n\n\n        const promise =\n          nativeVideo.play();\n\n\n        if(\n          promise\n          \u0026\u0026\n          typeof promise.catch ===\n          'function'\n        ){\n          promise.catch(\n            function(){}\n          );\n        }\n\n\n        activeVideoType =\n          'native';\n\n\n        return true;\n\n      }\n\n\n      function showYoutubeVideo(){\n\n        if(\n          !youtubeFrame\n          ||\n          !hasYoutube\n        ){\n          return false;\n        }\n\n\n        const youtubeId =\n          getYoutubeId(\n            youtubeUrl\n          );\n\n\n        if(!youtubeId){\n          return false;\n        }\n\n\n        const embedUrl =\n          'https:\/\/www.youtube.com\/embed\/'\n          +\n          youtubeId\n          +\n          '?autoplay=1'\n          +\n          '\u0026mute=1'\n          +\n          '\u0026loop=1'\n          +\n          '\u0026playlist='\n          +\n          youtubeId\n          +\n          '\u0026playsinline=1'\n          +\n          '\u0026controls=0'\n          +\n          '\u0026rel=0'\n          +\n          '\u0026modestbranding=1'\n          +\n          '\u0026enablejsapi=1';\n\n\n        youtubeFrame.setAttribute(\n          'src',\n          embedUrl\n        );\n\n        youtubeFrame.classList.add(\n          'is-active'\n        );\n\n\n        if(nativeVideo){\n\n          nativeVideo.classList.remove(\n            'is-active'\n          );\n\n          nativeVideo.pause();\n\n          nativeVideo.removeAttribute(\n            'src'\n          );\n\n          nativeVideo.load();\n\n        }\n\n\n        activeVideoType =\n          'youtube';\n\n\n        return true;\n\n      }\n\n\n      let videoReady =\n        false;\n\n\n      if(hasShopify){\n\n        videoReady =\n          showNativeVideo();\n\n      } else if(hasYoutube){\n\n        videoReady =\n          showYoutubeVideo();\n\n      }\n\n\n      if(!videoReady){\n\n        videoSection.classList.remove(\n          'is-ready'\n        );\n\n        videoSection.style.display =\n          'none';\n\n      } else {\n\n        videoSection.style.display =\n          '';\n\n        videoSection.classList.add(\n          'is-ready'\n        );\n\n      }\n\n\n      \/* =====================================================\n         SOUND BUTTON\n      ====================================================== *\/\n\n      let youtubeMuted =\n        true;\n\n\n      function sendYoutubeCommand(command){\n\n        if(\n          !youtubeFrame\n          ||\n          !youtubeFrame.contentWindow\n        ){\n          return;\n        }\n\n\n        youtubeFrame.contentWindow.postMessage(\n          JSON.stringify({\n            event:'command',\n            func:command,\n            args:''\n          }),\n          '*'\n        );\n\n      }\n\n\n      if(soundButton){\n\n        soundButton.addEventListener(\n          'click',\n          function(event){\n\n            event.preventDefault();\n            event.stopPropagation();\n\n\n            let soundOn =\n              false;\n\n\n            if(\n              activeVideoType ===\n              'native'\n              \u0026\u0026\n              nativeVideo\n            ){\n\n              nativeVideo.muted =\n                !nativeVideo.muted;\n\n              soundOn =\n                !nativeVideo.muted;\n\n\n              if(nativeVideo.paused){\n\n                const promise =\n                  nativeVideo.play();\n\n\n                if(\n                  promise\n                  \u0026\u0026\n                  typeof promise.catch ===\n                  'function'\n                ){\n                  promise.catch(\n                    function(){}\n                  );\n                }\n\n              }\n\n            }\n\n\n            if(\n              activeVideoType ===\n              'youtube'\n            ){\n\n              youtubeMuted =\n                !youtubeMuted;\n\n\n              sendYoutubeCommand(\n                youtubeMuted\n                ? 'mute'\n                : 'unMute'\n              );\n\n\n              if(!youtubeMuted){\n\n                sendYoutubeCommand(\n                  'playVideo'\n                );\n\n              }\n\n\n              soundOn =\n                !youtubeMuted;\n\n            }\n\n\n            soundButton.classList.toggle(\n              'is-on',\n              soundOn\n            );\n\n\n            soundButton.setAttribute(\n              'aria-label',\n              soundOn\n              ? 'Couper le son'\n              : 'Activer le son'\n            );\n\n          }\n        );\n\n      }\n\n\n      \/* =====================================================\n         NATIVE VIDEO · PLAY ONLY WHEN VISIBLE\n      ====================================================== *\/\n\n      if(\n        activeVideoType ===\n        'native'\n        \u0026\u0026\n        nativeVideo\n        \u0026\u0026\n        'IntersectionObserver'\n        in window\n      ){\n\n        const observer =\n          new IntersectionObserver(\n            function(entries){\n\n              entries.forEach(\n                function(entry){\n\n                  if(\n                    entry.isIntersecting\n                  ){\n\n                    const promise =\n                      nativeVideo.play();\n\n\n                    if(\n                      promise\n                      \u0026\u0026\n                      typeof promise.catch ===\n                      'function'\n                    ){\n                      promise.catch(\n                        function(){}\n                      );\n                    }\n\n                  } else {\n\n                    nativeVideo.pause();\n\n                  }\n\n                }\n              );\n\n            },\n            {\n              threshold:.22\n            }\n          );\n\n\n        observer.observe(\n          nativeVideo\n        );\n\n      }\n\n\n    }\n  );\n\n\n})();\n\u003c\/script\u003e\n","brand":"My Store","offers":[{"title":"18 Pro Max | 17 Pro Max","offer_id":50510244479114,"sku":null,"price":199.0,"currency_code":"MAD","in_stock":true},{"title":"18 Pro | 17 Pro","offer_id":50510244511882,"sku":null,"price":199.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0761\/3857\/8058\/files\/FONE_HYBRID_MATTE_IMG01.png?v=1792438060","url":"https:\/\/fone.ma\/products\/hybrid-matte-bleu","provider":"My Store","version":"1.0","type":"link"}