/* ================================
   Barbie Mina – Angled Framed Product Block
================================ */

.bm-pb{
  position: relative;
  margin: 48px 0;
  padding: 34px;
  border-radius: 22px;
  background: #fff;
  border: 2px solid rgba(0,0,0,.08);
  overflow: hidden;
}

/* angled background layer (like the sample) */
.bm-pb::before{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width: 55%;
  height: 140%;
  background: #f4f4f4;
  transform: rotate(8deg);
  border-left: 2px solid rgba(0,0,0,.08);
  z-index: 0;
  opacity: 1;
}

/* Accent frame stripe */
.bm-pb::after{
  content:"";
  position:absolute;
  right: 18px;
  top: 18px;
  width: 14px;
  height: calc(100% - 36px);
  background: #ffb000; /* change this if needed */
  border-radius: 999px;
  z-index: 1;
}

/* Grid */
.bm-pb__grid{
  position: relative;
  z-index: 2;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items: center;
}

/* Image frame effect */
.bm-pb__media{
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 2px solid rgba(0,0,0,.12);
  box-shadow: 0 22px 60px rgba(0,0,0,.10);
  transform: rotate(-1.5deg);
  transition: transform .35s ease, box-shadow .35s ease;
}

.bm-pb__media:hover{
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 0 30px 70px rgba(0,0,0,.14);
}

.bm-pb__img{
  width:100%;
  height:auto;
  display:block;
  transform: scale(1.02);
  transition: transform .6s ease;
}

.bm-pb__media:hover .bm-pb__img{
  transform: scale(1.06);
}

/* Content typography (similar vibe) */
.bm-pb__content{
  padding: 8px 10px 8px 0;
}

.bm-pb__title{
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.bm-pb__subtitle{
  margin: 0 0 14px;
  font-size: 15px;
  opacity: .75;
  line-height: 1.45;
  max-width: 52ch;
}

.bm-pb__price{
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 14px;
  opacity: .92;
}

.bm-pb__desc{
  font-size: 16px;
  line-height: 1.75;
  opacity: .82;
  margin-bottom: 22px;
  max-width: 60ch;
}

/* CTA button style like modern blocks */
.bm-pb__cta .button,
.bm-pb__cta button,
.bm-pb__cta input[type="submit"]{
  border-radius: 14px !important;
  padding: 14px 20px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  background: #111 !important;
  color: #fff !important;
  border: 2px solid #111 !important;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.bm-pb__cta .button:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  opacity: .95;
}

/* Image position control */
.bm-pb--img-right .bm-pb__media { order: 2; transform: rotate(1.5deg); }
.bm-pb--img-right .bm-pb__content { order: 1; }

/* If image on right, put accent on left */
.bm-pb--img-right::after{
  right: auto;
  left: 18px;
}

/* angled bg flip */
.bm-pb--img-right::before{
  right:auto;
  left:-60px;
  transform: rotate(-8deg);
  border-left: none;
  border-right: 2px solid rgba(0,0,0,.08);
}

/* ================================
   Responsive
================================ */
@media (max-width: 980px){
  .bm-pb{
    padding: 22px;
  }
  .bm-pb__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .bm-pb::before{
    width: 120%;
    right: -40%;
    top: -30%;
    transform: rotate(6deg);
  }
  .bm-pb__media{
    transform: rotate(0deg);
  }
  .bm-pb--img-right .bm-pb__media{
    order: 0;
    transform: rotate(0deg);
  }
  .bm-pb__cta .button{
    width: 100%;
    text-align: center;
  }
}
/* Use per-block variables */
.bm-pb{
  background: var(--bm-bg, #fff);
  border-radius: var(--bm-radius, 22px);
  color: var(--bm-text, #111);
  position: relative;
  overflow: hidden;
  border: 2px solid rgba(0,0,0,.08);
  box-shadow: 0 20px 50px rgba(0,0,0,.08);
}

.bm-pb::before{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width: 55%;
  height: 140%;
  background: var(--bm-angled, #f4f4f4);
  transform: rotate(8deg);
  border-left: 2px solid rgba(0,0,0,.08);
  z-index: 0;
}

.bm-pb::after{
  content:"";
  position:absolute;
  right: 18px;
  top: 18px;
  width: 14px;
  height: calc(100% - 36px);
  background: var(--bm-accent, #ffb000);
  border-radius: 999px;
  z-index: 1;
}

.bm-pb__grid{ position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr .95fr; gap:40px; align-items:center; }
.bm-pb__media{
  border-radius: var(--bm-media-radius, 20px);
  overflow:hidden;
  background:#fff;
  border: 2px solid rgba(0,0,0,.12);
  box-shadow: 0 22px 60px rgba(0,0,0, var(--bm-shadow, .10));
  transform: rotate(var(--bm-media-rotate, -1.5deg));
  transition: transform .35s ease, box-shadow .35s ease;
}
.bm-pb__media:hover{ transform: rotate(0deg) translateY(-2px); }
.bm-pb__img{ width:100%; height:auto; display:block; transition: transform .6s ease; transform: scale(1.02); }
.bm-pb__media:hover .bm-pb__img{ transform: scale(1.06); }

.bm-pb__title{ font-size: clamp(28px, 3.2vw, 44px); font-weight: 700; margin:0 0 10px; }
.bm-pb__subtitle{ opacity:.75; margin:0 0 14px; }
.bm-pb__price{ font-weight:700; margin:0 0 14px; }

.bm-pb__cta .button{
  background: var(--bm-btn-bg, #111) !important;
  color: var(--bm-btn-text, #fff) !important;
  border: 2px solid var(--bm-btn-bg, #111) !important;
  border-radius: 14px !important;
  padding: 14px 20px !important;
  font-weight: 700 !important;
}

/* image position */
.bm-pb--img-right .bm-pb__media{ order:2; transform: rotate(calc(var(--bm-media-rotate, -1.5deg) * -1)); }
.bm-pb--img-right .bm-pb__content{ order:1; }
.bm-pb--img-right::after{ right:auto; left:18px; }
.bm-pb--img-right::before{ right:auto; left:-60px; transform: rotate(-8deg); border-left:none; border-right:2px solid rgba(0,0,0,.08); }

/* responsive */
@media (max-width: 980px){
  .bm-pb__grid{ grid-template-columns:1fr; gap:18px; }
  .bm-pb__media{ transform: rotate(0deg); }
  .bm-pb__cta .button{ width:100%; text-align:center; }
}
