/* Miraj Boutique PDP — Flat Luxury (no card look) */
.mbp-pdp{
  --ink:#0f1011;
  --muted:rgba(15,16,17,.66);
  --line:rgba(15,16,17,.10);
  --bg:#ffffff;

  --max:1180px;
  --pad:clamp(16px,2.2vw,26px);
  --gap:clamp(14px,2vw,22px);

  background:var(--bg);
  color:var(--ink);
  padding: clamp(0px,0vw,26px) 0 20px;
}

.mbp-pdp *{box-sizing:border-box}
.mbp-pdp ul{
  margin: 0;
  padding-left: 15px;
}

.mbp-container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}

.mbp-breadcrumbs{
  font-size:13px;
  color:var(--muted);
  margin:0 0 14px;
}
.mbp-breadcrumbs a{color:inherit;text-decoration:none}
.mbp-breadcrumbs a:hover{text-decoration:underline}

.mbp-top{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
  align-items:start;
  position: relative;
}
@media (min-width: 980px){
  .mbp-top{grid-template-columns:1fr 1.2fr}
}

/* Remove all “card” look globally */
.mbp-card{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Gallery */
.mbp-gallery{padding:0}
.mbp-gallery__main{
  position:relative;
}
/* Controlled boutique gallery height */
.mbp-gallery__main{
  position:relative;
  aspect-ratio: 3.5 / 5;  /* elegant vertical proportion */ 
  background:#f6f6f6;
  overflow:hidden;
  width: 97%;
  max-height: 600px;
}

.mbp-gallery__main img{
  width:100%;
  height:100% !important;
  object-fit:cover;   /* do NOT crop product */
  display:block;
  transition:transform .35s ease, opacity .25s ease;
}

.mbp-gallery__main:hover img{
  transform:scale(1.02);
}
.mbp-mainlink{display:block; position:relative}
.mbp-gallery__main:hover img{transform:scale(1.015); transition:transform .35s ease}
.mbp-gallery__main img.is-fadein{animation: mbpFade .18s ease}
@keyframes mbpFade{from{opacity:.6}to{opacity:1}}

.mbp-gbtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;height:40px;
  border:1px solid rgba(15,16,17,.20);
  background:rgba(255,255,255,.82);
  color:#0f1011;
  font-size:26px;
  line-height:1;
  display:grid;place-items:center;
  cursor:pointer;
  opacity:0;
  transition:opacity .15s ease, transform .15s ease;
}
.mbp-gbtn--prev{left:12px}
.mbp-gbtn--next{right:12px}
.mbp-gallery__main:hover .mbp-gbtn{opacity:1}
.mbp-gbtn:hover{transform:translateY(-50%) scale(1.03)}

/* thumbs as buttons */
.mbp-thumb{
  border:1px solid rgba(15,16,17,.10);
  padding:0;
}

/* Lightbox */
.mbp-lightbox{
  position:fixed; inset:0;
  background:rgba(0,0,0,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:999999;
}
.mbp-lightbox__img{
  max-width:min(1100px, 92vw);
  max-height:88vh;
  object-fit:contain;
  background:#fff;
}
.mbp-lightbox__close{
  position:fixed;
  top:18px; right:18px;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.35);
  background:transparent;
  color:#fff;
  font-size:32px;
  cursor:pointer;
}

/* Subtle sale badge */
.mbp-sale{
  position:absolute;
  left:14px; top:14px;
  background:rgba(15,16,17,.78);
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:8px 10px;
  border-radius:999px;
  z-index: 1;
}

/* Thumbnails */
.mbp-thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:12px 0 0;
  scrollbar-width:thin;
}
.mbp-thumb{
  width: 100px;
  height: 110px;
  background:#f5f5f5;
  overflow:hidden;
  flex:0 0 auto;
  cursor:pointer;
  opacity:.75;
  transition:opacity .12s ease, transform .12s ease;
  border:1px solid rgba(15,16,17,.10);
}
.mbp-thumb img{width:100%;height:100% !important;object-fit:cover;display:block}
.mbp-thumb:hover{opacity:1;transform:translateY(-1px)}
.mbp-thumb.is-active{opacity:1}

/* Right sticky buy panel */
.mbp-summary{padding:0}
@media (min-width: 980px){ .mbp-summary{position:sticky; top:18px;} }

.mbp-eyebrow{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.mbp-title{
  margin:0 0 10px;
  font-size:clamp(28px,2.8vw,40px);
  line-height:1.08;
  letter-spacing:-0.02em;
}

.mbp-rating{
  margin:0 0 12px;
  color:rgba(15,16,17,.72);
  font-size:13px;
}

/* Price styling (flat, bold) */
.mbp-price{
  margin:0 0 12px;
  font-weight:700;
  font-size:18px;
}
.mbp-price del{opacity:.55}
.mbp-price ins{text-decoration:none;}

/* Short description */
.mbp-short{
  margin:0 0 16px;
  color:rgba(15,16,17,.82);
  line-height:1.65;
  font-size:14px;
}

/* Chips (minimal) */
.mbp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.mbp-chip{
  font-size:12px;
  padding:0px 10px;
  border:1px solid rgba(15,16,17,.12);
  color:rgba(15,16,17,.78);
  border-radius:999px;
  background: #f9f9f9;
}

/* Add to cart block */
.mbp-buybox{
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* Woo form elements (clean) */
.mbp-pdp form.cart{margin:0}
.mbp-pdp .quantity input.qty{
  border-radius:0 !important;
  padding:10px 10px !important;
  border:1px solid rgba(15,16,17,.16) !important;
}
.mbp-pdp select{
  border-radius:0 !important;
  padding:10px !important;
  border:1px solid rgba(15,16,17,.16) !important;
}

/* Black full width button like reference */
.mbp-pdp .single_add_to_cart_button{
  width:100% !important;
  border-radius:0 !important;
  padding:14px 16px !important;
  font-weight:700 !important;
  background:#0f1011 !important;
  border:1px solid #0f1011 !important;
  color:#fff !important;
  letter-spacing:.02em;
}
.mbp-pdp .single_add_to_cart_button:hover{opacity:.92}

/* Accordions (reference-like) */
.mbp-acc{margin-top:14px}
.mbp-acc__item{border-bottom:1px solid var(--line)}
.mbp-acc__btn{
  width:100%;
  background:transparent;
  border:0;
  padding:14px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
 
}
.mbp-acc__icon{
  width:18px;height:18px;
  display:grid;place-items:center;
  border:1px solid rgba(15,16,17,.18);
  border-radius:999px;
  transition:transform .14s ease;
   align-content: center;
}
.mbp-acc__item.is-open .mbp-acc__icon{transform:rotate(45deg)}
.mbp-acc__panel{overflow:hidden;max-height:0;transition:max-height .18s ease}
.mbp-acc__content{
  padding:0 0 14px;
  color:rgba(15,16,17,.82);
  line-height:1.7;
  font-size:14px;
}

/* Consumer studies + steps (flat list) */
.mbp-studies .mbp-study{
  grid-template-columns: 1fr !important;
}
.mbp-studies,.mbp-steps{display:grid;gap:10px;margin-top:10px}
.mbp-study,.mbp-step{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:start;
}
.mbp-step img{
  width:72px;height:72px;object-fit:cover;
  background:#f5f5f5;
}
.mbp-step__title{margin:0 0 6px;font-weight:800;font-size:13px}
.mbp-step__text{margin:0;color:rgba(15,16,17,.78);font-size:13px;line-height:1.55}
.mbp-study__label{margin:0 0 4px;font-weight:800;font-size:13px}
.mbp-study__value{margin:0;color:rgba(15,16,17,.78);font-size:13px;line-height:1.55}

/* Sections below fold (flat + dividers) */
.mbp-section{margin-top:60px}
.mbp-section__head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.mbp-h2{margin:0;font-size:clamp(18px,1.6vw,22px);letter-spacing:.01em}
.mbp-sub{margin:0;color:var(--muted);font-size:14px;max-width:60ch}

/* Ingredients list */
/* Ingredients grid 2-per-row */
.mbp-ingredients{
  display:grid;
  gap: 14px;
  grid-template-columns: 1fr;
}
@media (min-width: 720px){
  .mbp-ingredients{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.mbp-ingredient{
  border-top: 1px solid var(--line);
  padding: 14px 0;
}
.mbp-ingredients{padding:0}
.mbp-ingredient{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:12px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.mbp-ingredient:first-child{border-top:1px solid var(--line);}
.mbp-ingredient img{
  width:150px;height:72px;object-fit:cover;background:#f5f5f5;
}
.mbp-ingredient__name{margin:0 0 6px;font-weight:800}
.mbp-ingredient__desc{margin:0;color:rgba(15,16,17,.80);line-height:1.65}

/* Best sellers: flat grid */
.mbp-bestsellers{padding:0}
.mbp-bs-grid{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
}
@media (min-width: 640px){.mbp-bs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width: 980px){.mbp-bs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.mbp-bs-card{border:0;background:transparent}
.mbp-bs-img{aspect-ratio:1/1;background:#f5f5f5;display:block;overflow:hidden}
.mbp-bs-img img{width:100%;height:100%;object-fit:cover;display:block}
.mbp-bs-body{padding:12px 0;display:grid;gap:10px}
.mbp-bs-title{margin:0;font-weight:800;font-size:13px;line-height:1.35}
.mbp-bs-price{font-weight:800}

.mbp-bs-actions .button{
  width:100%;
  border-radius:0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(15,16,17,.16) !important;
  background:transparent !important;
  color:var(--ink) !important;
  font-weight:700 !important;
}
.mbp-bs-actions .button:hover{
  background:#0f1011 !important;
  color:#fff !important;
  border-color:#0f1011 !important;
}

/* Reviews + FAQs */
.woocommerce #reviews .mbp-section__head {
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
} 
.woocommerce #reviews #comments h2 { 
  font-size: 16px;
  font-style: italic;
}
.cr-review-form-wrap div {max-width: 100% !important;}
.cr-review-form-buttons {width: 120px; 
  margin: 0 !important;}
 .cr-review-form-buttons button, .mbp-reviews .cr-nosummary-add {background-color: #c48302 !important;padding: 0 15px;}
.mbp-reviews,.mbp-faqs{padding:0}

/* FAQs: IMPORTANT — remove that weird narrow column look */
.mbp-faq{
  padding:14px 0;
  border-top:1px solid var(--line);
}
.mbp-faq:first-child{border-top:1px solid var(--line);}
.mbp-faq__row{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.mbp-faq__icon img{
  width:36px;height:36px;object-fit:cover;background:#f5f5f5;
}
.mbp-faq__q{margin:0 0 6px;font-weight:900}
.mbp-faq__a{margin:0;color:rgba(15,16,17,.80);line-height:1.65}

/* Focus */
.mbp-pdp a:focus-visible,
.mbp-pdp button:focus-visible{
  outline:3px solid rgba(15,16,17,.45);
  outline-offset:3px;
}

/* ===== PRICE SECTION (reference style) ===== */
.mbp-priceblock__label{
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 10px;
}

.mbp-pricebox{
  border: 1px solid rgba(15,16,17,.14);
  border-radius: 14px;
  padding: 18px 18px;
}

.mbp-pricebox__row{
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

.mbp-mrp{
  display:flex;
  align-items: baseline;
  gap: 12px;
  font-size: 18px;
}
.mbp-mrp__label{
  font-weight: 500;
  opacity: .9;
}
.mbp-mrp__value del,
.mbp-mrp__value{
  opacity: .65;
  font-weight: 500;
  text-decoration: line-through;
}
.mbp-mrp__value del{
  text-decoration-thickness: 2px;
}

.mbp-now{
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
}

.mbp-now .woocommerce-Price-currencySymbol{ font-size: .9em; margin-right: 6px; }

.mbp-taxnote{
  margin-top: 10px;
  color: rgba(15,16,17,.55);
  font-size: 18px;
}

/* ===== QTY + BUTTON ROW (reference style) ===== */
.mbp-buybox{
  border-top:0; border-bottom:0;
  padding: 0;
  margin-top: 0;
}

.mbp-pdp form.cart{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 22px;
  align-items: center;
}

@media (max-width: 760px){
  .mbp-pdp form.cart{
    grid-template-columns: 1fr;
  }
}

/* Hide Woo default quantity input arrows */
.mbp-pdp .quantity input.qty{
  -moz-appearance:textfield;
}
.mbp-pdp .quantity input.qty::-webkit-outer-spin-button,
.mbp-pdp .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}

/* Make quantity box look like screenshot */
.mbp-pdp .quantity{
  width: 260px;
  height: 64px;
  border: 1px solid rgba(15,16,17,.28);
  border-radius: 0;
  display: grid;
  grid-template-columns: 64px 1fr 64px;
  align-items: center;
  overflow: hidden;
}

.mbp-pdp .quantity .qty{
  width: 100% !important;
  height: 64px !important;
  border: 0 !important;
  text-align: center !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  padding: 0 !important;
}

/* Add + / - buttons using pseudo elements won’t work on input.
   We will style Woo’s buttons if theme adds them, else add JS next step. */

/* Button style */
.mbp-pdp .single_add_to_cart_button{
  height: 64px !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.mbp-qbtn{
  width:64px;
  height:64px;
  border:0;
  background:#fff;
  font-size: 28px;
  font-weight: 400;
  cursor:pointer;
}
.mbp-qbtn--minus{border-right:1px solid rgba(15,16,17,.18)}
.mbp-qbtn--plus{border-left:1px solid rgba(15,16,17,.18)}
.mbp-qbtn:hover{background:rgba(0,0,0,.03)}

/* ===== PRICE BOX (legend cuts border like reference) ===== */
.mbp-priceblock{ margin: 22px 0 14px; }

.mbp-pricebox{
  position: relative;
  border: 1px solid rgba(15,16,17,.14);
  border-radius: 14px;
  padding: 22px 18px 18px;
  background: #fff;
}

/* This is the "cut border" label */
.mbp-pricebox__legend{
  position: absolute;
  top: -10px;          /* sits on border */
  left: 18px;
  padding: 0 10px;
  background: #fff;    /* MUST match page background */
  line-height: 1;
}

.mbp-pricebox__legend span{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(15,16,17,.95);
}

/* row layout */
.mbp-pricebox__row{
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

/* MRP */
.mbp-mrp{
  display:flex;
  align-items: baseline;
  gap: 10px;
  font-size: 16px;
  color: rgba(15,16,17,.85);
}
.mbp-mrp__label{ font-weight: 500; }
.mbp-mrp__value{ opacity: .7; }
.mbp-mrp__value del{ text-decoration-thickness: 2px; }

/* Sale price */
.mbp-now{
  font-size: 50px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
}
.mbp-now .woocommerce-Price-amount{ font-size: 42px;
  font-weight: 600; }
.mbp-now .woocommerce-Price-currencySymbol{
  font-size: .92em;
  margin-right: 6px;
}

/* Off badge */
.mbp-off{
background: #0f1011;
  color: #fff;
  padding: 4px 8px;
  border-radius: 0;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
}

/* Tax note */
.mbp-taxnote{
  margin-top: 10px;
  color: rgba(15,16,17,.55);
  font-size: 16px;
}

/* Mobile adjust */
@media (max-width: 760px){
  .mbp-pricebox{ padding: 20px 14px 14px; }
  .mbp-pricebox__legend{ left: 14px; }
  .mbp-now{ font-size: 44px; }
}

/* Reviews styling clean */
.mbp-reviews .woocommerce-Reviews{
  margin-top: 10px;
}
.mbp-reviews .commentlist{
  margin: 0;
  padding: 0;
}
.mbp-reviews .commentlist li{
  list-style: none;
  padding: 18px 0;
  border-bottom: 1px solid rgba(15,16,17,.10);
}
.mbp-reviews .comment-form textarea{
  border: 1px solid rgba(15,16,17,.15);
  padding: 12px;
}
.mbp-reviews input[type="text"],
.mbp-reviews input[type="email"]{
  border: 1px solid rgba(15,16,17,.15);
  padding: 10px;
}
.mbp-reviews .submit{
  background:#0f1011 !important;
  color:#fff !important;
  border:0 !important;
  padding:12px 18px !important;
}