/* MARABIKA review language UX 1.0.1 */
body.page-product .m-product-reviews--featured{
  box-sizing:border-box;
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:clamp(40px,5vw,72px) 0 28px;
  padding:clamp(24px,3vw,38px);
  overflow:visible!important;
  border:1px solid #e5dbd0;
  border-radius:24px;
  background:linear-gradient(145deg,#fffdfb 0%,#f8f3ed 100%);
  box-shadow:0 14px 38px rgba(55,40,28,.07);
}

body.page-product .m-product-reviews--featured .m-product-reviews__head{
  display:flex;
  min-height:0;
  align-items:center;
  margin:0 0 22px;
}

body.page-product .m-product-reviews--featured .m-product-reviews__title{
  position:relative;
  margin:0;
  padding:0 0 0 18px;
  color:#201c19;
  font-size:clamp(22px,2vw,30px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em;
}

body.page-product .m-product-reviews--featured .m-product-reviews__title::before{
  position:absolute;
  top:.47em;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#9b7046;
  content:"";
}

body.page-product .m-product-reviews--featured .mrl-review-summary{
  width:100%;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

body.page-product .m-product-reviews--featured .mrl-review-summary__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
}

body.page-product .m-product-reviews--featured .mrl-review-card{
  position:relative;
  box-sizing:border-box;
  display:flex!important;
  width:auto!important;
  min-width:0;
  min-height:196px;
  flex-direction:column;
  margin:0!important;
  padding:21px 22px!important;
  overflow:hidden;
  border:1px solid #e6ddd3;
  border-radius:17px;
  background:#fff;
  color:#2b2622;
  box-shadow:0 5px 16px rgba(52,39,28,.045);
  text-align:left;
}

body.page-product .m-product-reviews--featured .mrl-review-card::after{
  position:absolute;
  right:15px;
  bottom:-18px;
  color:#eee4da;
  content:"”";
  font:700 76px/1 Georgia,serif;
  pointer-events:none;
}

body.page-product .m-product-reviews--featured .mrl-review-card__header{
  display:flex;
  min-width:0;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}

body.page-product .m-product-reviews--featured .mrl-review-card__author{
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#201c19;
  font-size:14px;
  font-weight:750;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.page-product .m-product-reviews--featured .mrl-review-card__date{
  flex:0 0 auto;
  margin:0;
  color:#756b62;
  font-size:11px;
  font-weight:550;
  line-height:1.35;
  white-space:nowrap;
}

body.page-product .m-product-reviews--featured .mrl-review-card__rating{
  display:flex;
  min-height:20px;
  align-items:center;
  gap:2px;
  margin:0 0 12px!important;
  color:#d8cec4;
  line-height:1;
}

body.page-product .m-product-reviews--featured .mrl-review-card__star{
  color:#d8cec4;
  font-size:17px;
}

body.page-product .m-product-reviews--featured .mrl-review-card__star.is-active{
  color:#b48236;
}

body.page-product .m-product-reviews--featured .mrl-review-card__content{
  position:relative;
  z-index:1;
  max-width:38ch;
  margin:0;
  color:#4f4740;
  font-size:14px;
  font-weight:500;
  line-height:1.58;
  overflow-wrap:anywhere;
  text-align:left;
}

/* The same summary must never appear inside the purchase form. */
body.page-product #product-info-block .product-additional-info
  > .mrl-review-summary{
  display:none!important;
}

@media (min-width:1024px) and (max-width:1199.98px){
  body.page-product .m-product-reviews--featured{
    padding:24px;
  }

  body.page-product .m-product-reviews--featured .mrl-review-card{
    padding:18px!important;
  }

  body.page-product .m-product-reviews--featured .mrl-review-card__header{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

@media (max-width:767.98px){
  body.page-product .m-product-reviews--featured{
    margin:30px 0 20px;
    padding:20px 16px;
    border-radius:18px;
  }

  body.page-product .m-product-reviews--featured .mrl-review-summary__grid{
    display:flex!important;
    flex-direction:column;
    gap:12px;
  }

  body.page-product .m-product-reviews--featured .mrl-review-card{
    width:100%!important;
    min-height:0;
    padding:18px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.page-product .m-product-reviews--featured *,
  body.page-product .m-product-reviews--featured *::before,
  body.page-product .m-product-reviews--featured *::after{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}

/* MARABIKA review modal UX 1.2.6 — product routes only. */
body.page-product .product-comment-modal{
  position:fixed!important;
  inset:0!important;
  z-index:10020!important;
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:clamp(12px,4vh,38px) 16px;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:transparent!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

body.page-product .product-comment-modal.in{
  display:block!important;
  opacity:1;
}

body.page-product .product-comment-modal .modal-dialog{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:100%!important;
  max-width:620px!important;
  margin:0 auto!important;
}

body.page-product .product-comment-modal .modal-content{
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-height:calc(100vh - 24px);
  max-height:calc(100svh - 24px);
  overflow-y:auto;
  border:1px solid #eadfd4!important;
  border-radius:18px!important;
  background:#fffdfb!important;
  box-shadow:0 24px 70px rgba(49,36,24,.24)!important;
}

body.page-product .product-comment-modal .modal-body{
  box-sizing:border-box;
  padding:clamp(20px,4vw,34px)!important;
}

body.page-product.mrl-review-modal-lock{
  position:fixed!important;
  right:0;
  left:0;
  width:100%!important;
  height:auto!important;
  overflow:hidden!important;
}

body.page-product.mrl-review-modal-lock .product-comment-modal{
  touch-action:pan-y;
}

body.page-product .modal-backdrop.fade.in{
  z-index:10010!important;
  background:#281f18!important;
  opacity:.5!important;
}

body.page-product #product-comment-posted-modal .modal-dialog{
  max-width:470px!important;
}

/* A successful submission must never leave two stacked dialogs visible. */
body.page-product.mrl-review-result-open #post-product-comment-modal{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body.page-product #product-comment-posted-modal .modal-content{
  overflow:hidden;
  text-align:center;
}

body.page-product #product-comment-posted-modal .modal-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:28px 26px 17px!important;
  border:0!important;
  color:#241f1b!important;
  font-size:clamp(20px,4vw,25px);
  font-weight:800!important;
  line-height:1.25;
}

body.page-product #product-comment-posted-modal .mrl-review-success-icon{
  display:inline-flex;
  width:34px;
  height:34px;
  flex:0 0 34px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#527a55;
  color:#fff;
  font-size:21px;
  font-weight:800;
  line-height:1;
}

body.page-product #product-comment-posted-modal .modal-body{
  padding:0 30px 30px!important;
}

body.page-product #product-comment-posted-modal-message{
  max-width:40ch;
  margin:0 auto;
  color:#665b52;
  font-size:15px;
  line-height:1.6;
}

body.page-product #product-comment-posted-modal .post-comment-buttons{
  margin-top:24px;
}

body.page-product #product-comment-posted-modal .post-comment-buttons button{
  min-width:150px;
  min-height:46px;
  padding:12px 24px!important;
  border:1px solid #2f2d2b!important;
  border-radius:0!important;
  background:#2f2d2b!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2;
}

body.page-product .mrl-write-review-button{
  cursor:pointer;
}

@media (max-width:575.98px){
  body.page-product .product-comment-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    padding:max(12px,env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      max(12px,env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left));
  }

  body.page-product #post-product-comment-modal input:not([type="checkbox"]):not([type="radio"]),
  body.page-product #post-product-comment-modal textarea,
  body.page-product #post-product-comment-modal select{
    font-size:16px!important;
    line-height:1.35!important;
  }

  body.page-product #product-comment-posted-modal.in,
  body.page-product #product-comment-post-error.in{
    display:flex!important;
    align-items:center;
    justify-content:center;
  }

  body.page-product #product-comment-posted-modal .modal-dialog,
  body.page-product #product-comment-post-error .modal-dialog{
    width:calc(100vw - 24px)!important;
    max-width:420px!important;
    flex:0 1 420px;
    margin:auto!important;
    transform:none!important;
    transition:none!important;
  }

  body.page-product .product-comment-modal .modal-content{
    max-height:calc(100vh - 24px);
    max-height:calc(100svh - 24px);
    border-radius:14px!important;
  }

  body.page-product .product-comment-modal .modal-body{
    padding:20px 16px!important;
  }

  body.page-product #product-comment-posted-modal .modal-header{
    align-items:center;
    flex-direction:column;
    padding:25px 18px 14px!important;
  }

  body.page-product #product-comment-posted-modal .modal-body{
    padding:0 20px 24px!important;
  }

  body.page-product #product-comment-posted-modal .post-comment-buttons button{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  body.page-product .product-comment-modal,
  body.page-product .product-comment-modal *{
    transition:none!important;
  }
}
