Qualité des photos : 7/10 · évaluée par IA
Mabrouka, Marrakech
5 775 000 MAD
22 471 MAD/m²
Positionnement prix
Dans le prix du quartier
Médian Mabrouka : 22 471 MAD/m² · 23 annonces analysées
Rendement locatif estimé ≈ 8,0 % brut/an · Où investir à Marrakech ?
Voir les prix du quartierCaractéristiques
Annonces similaires
5 775 000 MAD
22 471 MAD/m²
Surface
257 m²
Chambres
6
Description
à vendre à Marrakech, ce superbe riad rénové titré de 257 m² situé dans le quartier authentique d’Arset Ben Brahim offre un patio avec fontaine, bassin, terrasse en toiture avec bar extérieur et prestations soignées au cœur de la médina de Marrakech. Un bien rare alliant charme marocain traditionnel et confort moderne à seulement 2 minutes d’un parking. Organisé sur trois niveaux, ce riad à vendre à Marrakech comprend au rez-de-chaussée un grand hall ouvrant sur un patio avec fontaine couvert, un salon salle à manger avec cheminée et climatisation, une chambre avec salle d’eau, une cuisine communicante avec le salon et un wc. Au premier étage, quatre chambres dont une avec salle d’eau. En toiture, deux chambres avec salle d’eau, une grande terrasse avec bar extérieur et bassin pour profiter des couchers de soleil et des toits de la médina de Marrakech. Climatisation individuelle, interphone et résidence fermée, ce riad rénové à vendre à Marrakech séduit les acquéreurs et investisseurs en quête d’un bien authentique et rare alliant caractère, cachet et potentiel d’exploitation au cœur de la médina de Marrakech. PRIX. 5 775 000 DHS document.addEventListener(`DOMContentLoaded`,function(){let e=document.getElementById(`voir-plus`),t=document.querySelector(`.label`);e.addEventListener(`change`,function(){e.checked||t.scrollIntoView({behavior:`smooth`})})}); proposée par : Cantarel Immobilier Agence immobilière à Marrakech Information financières --> --> Annonces Similaires Il y a 6 jours 6 000 000 DH 6 Ch 2 sdb 530 m² Villa à vendre Marrakech -Rahba Kedima Annonce par : Cantarel Immobilier Il y a 3 mois 7 140 000 DH 6 Ch 6 sdb 117 m² Villa à vendre Marrakech -Rahba Kedima Annonce par : Cantarel Immobilier Il y a 3 mois 24 150 000 DH 6 Ch 4 sdb 2040 m² Villa à vendre Marrakech -Rahba Kedima Annonce par : Cantarel Immobilier Il y a 3 mois 8 390 000 DH 6 Ch 7 sdb 640 m² Villa à vendre Marrakech -Rahba Kedima Annonce par : Cantarel Immobilier (function(){const id = ""; const similarLen = 4; document.addEventListener("DOMContentLoaded", function () { const carousel = document.getElementById(`Cards-Container${id}`); const arrows = document.getElementById(`arrowsId${id}`); const indicators = document.getElementById(`indicators${id}`); // const prevStroke = document.getElementById(`prev-stroke${id}`); const nextButtons = document.querySelectorAll(`.next-btn${id}`); const prevButtons = document.querySelectorAll(`.prev-btn${id}`); if (!carousel) return; /* Card #4103 — measure the real card "step" (card width + gap) * by reading the two first children's offsetLeft. Falls back to * the first child's offsetWidth if there's only one card. This is * what makes the arrow navigation actually land on card edges * instead of being off by the gap. */ let currentIndex = 0; const firstCard = carousel.firstElementChild; const cardWidth = firstCard instanceof HTMLElement ? firstCard.offsetWidth || 320 : 320; const measureStep = () => { const first = carousel.children[0]; const second = carousel.children[1]; if (!first || !(first instanceof HTMLElement)) return cardWidth; if (second && second instanceof HTMLElement) { const delta = second.offsetLeft - first.offsetLeft; if (delta > 0) return delta; } return first.offsetWidth || cardWidth; }; let step = measureStep(); /* maxScroll is the true end of the scroll container. The card- * counted maxIndex is derived from it so the last "next" click * lands at scrollLeft = maxScroll and the final card sits fully * inside the viewport, no partial visibility. */ const getMaxScroll = () => Math.max(0, carousel.scrollWidth - carousel.clientWidth); let maxScroll = getMaxScroll(); let maxIndex = step > 0 ? Math.ceil(maxScroll / step) : 0; const maxDots = 5; const isRTL = getComputedStyle(carousel).direction === "rtl"; const recompute = () => { step = measureStep(); maxScroll = getMaxScroll(); maxIndex = step > 0 ? Math.ceil(maxScroll / step) : 0; }; const updateArrowsVisibility = () => { if (!arrows || !carousel) return; arrows.style.visibility = maxScroll > 0 ? "visible" : "hidden"; }; /* Dots window over the VALID scroll positions [0, maxIndex], * not over similarLen. Showing more dots than reachable positions * was the source of the "active dot stuck on an earlier position" * bug for cards = N where N - visibleCards maxDots and there's more content beyond an edge, * the dots closest to that edge shrink (1.0 → 0.7 → 0.5) so the * user gets a visual "there's more in this direction" cue without * the dot strip itself growing. */ const updateIndicators = () => { if (!indicators) return; const dots = indicators.querySelectorAll(".dot-indicator"); const pageCount = maxIndex + 1; // number of valid scroll positions let startDot = 0; if (pageCount > maxDots) { const half = Math.floor(maxDots / 2); if (currentIndex = pageCount - half - 1) { startDot = pageCount - maxDots; } else { startDot = currentIndex - half; } } const endDot = startDot + maxDots - 1; const overflowsAtStart = pageCount > maxDots && startDot > 0; const overflowsAtEnd = pageCount > maxDots && endDot { const actualIndex = startDot + dotPosition; const isVisible = actualIndex < pageCount; const isActive = actualIndex === currentIndex; let scale = 1; let opacity = 1; /* Shrink the two dots closest to whichever edge has hidden * pages beyond the window. Active dot always stays full size. */ if (!isActive && isVisible) { if (overflowsAtStart && dotPosition === 0) { scale = 0.5; opacity = 0.6; } else if (overflowsAtStart && dotPosition === 1) { scale = 0.7; opacity = 0.8; } else if (overflowsAtEnd && dotPosition === maxDots - 1) { scale = 0.5; opacity = 0.6; } else if (overflowsAtEnd && dotPosition
Localisation
Position approximative