/* BN Product Story Layout 2.6 — DESCRIPTION ONLY
   Scope lock: chỉ style DOM do plugin tạo bên trong #tab-description. */
.bnpsl2-root{
  --bnpsl2-text:#17181b;
  --bnpsl2-muted:#656971;
  --bnpsl2-line:#e2e4e8;
  --bnpsl2-soft:#f4f5f6;
  position:relative;
}
.bnpsl2-story,.bnpsl2-story *{box-sizing:border-box}

/* FIX: đã gỡ kỹ thuật breakout (margin-left:50% + translateX(-50vw)).
   Story không bao giờ được rộng hơn container mô tả gốc. */
.bnpsl2-story,
.bnpsl2-story.bnpsl2-breakout{
  width:100%;
  max-width:100%;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  position:relative;
  box-sizing:border-box;
}

.bnpsl2-story{margin:40px 0 54px;color:var(--bnpsl2-text)}
.bnpsl2-story h2,
.bnpsl2-story h3{
  font-family:inherit;
  color:var(--bnpsl2-text)!important;
  font-weight:600!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.bnpsl2-story p,.bnpsl2-story li{
  color:var(--bnpsl2-muted)!important;
  line-height:1.68!important;
  font-size:14px!important;
}
.bnpsl2-story img{display:block;max-width:100%;height:auto}

/* Ảnh phụ (ảnh thứ 2 trở đi) còn lại trong cột chữ của cùng 1 khối H2/H3 —
   ví dụ Sony A7V có nhiều đoạn text+ảnh lặp lại trong 1 mục. Cho nó nhìn
   có chủ đích thay vì trôi tự do giữa các đoạn văn. */
.bnpsl2-copy .bnpsl2-inline-media{
  margin:14px 0!important;
  border-radius:calc(var(--bnpsl2-radius,18px) * 0.55);
  overflow:hidden;
  border:1px solid var(--bnpsl2-line);
}
.bnpsl2-copy .bnpsl2-inline-media img{margin:0!important;width:100%}
.bnpsl2-story figure,.bnpsl2-story p:has(> img){margin:0!important}

/* Hero đúng chất bản đầu: đen + đỏ + ảnh lớn */
.bnpsl2-hero{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.18fr)!important;
  min-height:350px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin-left:0;
  margin-right:0;
  overflow:hidden!important;
  border:1px solid #22252a!important;
  border-radius:var(--bnpsl2-radius,18px)!important;
  background:#111316!important;
  margin:0 0 34px;
}
.bnpsl2-hero .bnpsl2-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center;
  padding:clamp(28px,3.8vw,52px);
}
.bnpsl2-kicker{
  color:var(--bnpsl2-accent,#e31b23);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:13px;
}
.bnpsl2-hero h2{
  color:#fff!important;
  font-size:clamp(27px,2.8vw,43px)!important;
  line-height:1.08!important;
  margin:0 0 14px!important;
}
.bnpsl2-hero p,.bnpsl2-hero li{color:#c7c9ce!important;max-width:540px}
.bnpsl2-hero .bnpsl2-media{background:#111316;min-height:350px;height:100%;overflow:hidden;position:relative}
.bnpsl2-hero .bnpsl2-media>*,
.bnpsl2-hero .bnpsl2-media a,
.bnpsl2-hero .bnpsl2-media p,
.bnpsl2-hero .bnpsl2-media div,
.bnpsl2-hero .bnpsl2-media span,
.bnpsl2-hero .bnpsl2-media figure,
.bnpsl2-hero .bnpsl2-media picture{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.bnpsl2-hero .bnpsl2-media img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:350px!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
.bnpsl2-hero.bnpsl2-no-media{grid-template-columns:1fr!important}

/* Canon-style flat H2 grid */
.bnpsl2-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--bnpsl2-cols,3),minmax(0,1fr))!important;
  gap:var(--bnpsl2-gap,18px);
  align-items:stretch;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.bnpsl2-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  overflow:hidden!important;
  border:1px solid var(--bnpsl2-line)!important;
  border-radius:var(--bnpsl2-radius,18px)!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
}
.bnpsl2-card .bnpsl2-media{
  order:0;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--bnpsl2-soft);
}
.bnpsl2-card .bnpsl2-media>*{width:100%;height:100%;margin:0!important}
.bnpsl2-card .bnpsl2-media img{width:100%;height:100%;object-fit:cover}
.bnpsl2-card .bnpsl2-copy{order:1;padding:16px 16px 18px;display:flex!important;flex-direction:column!important;flex:1}
.bnpsl2-card h2{font-size:17px!important;line-height:1.3!important;margin:0 0 8px!important}
.bnpsl2-card p,.bnpsl2-card li{font-size:12.7px!important;line-height:1.62!important}
.bnpsl2-card p{margin:0 0 8px!important}
.bnpsl2-card p:last-child{margin-bottom:0!important}
.bnpsl2-card ul,.bnpsl2-card ol{margin:7px 0 0 17px!important}

/* H2 chứa H3: H2 là section header, mỗi H3 thành card GIỐNG Canon R50 */
.bnpsl2-h3-section{grid-column:1/-1;margin:6px 0 14px;min-width:0}
.bnpsl2-section-intro{margin:0 0 20px;max-width:900px}
.bnpsl2-section-intro h2{
  color:var(--bnpsl2-text)!important;
  font-size:clamp(27px,2.8vw,43px)!important;
  line-height:1.08!important;
  margin:0 0 14px!important;
}
.bnpsl2-section-intro > :last-child{margin-bottom:0!important}
.bnpsl2-h3-list{
  display:grid!important;
  grid-template-columns:repeat(var(--bnpsl2-h3-cols,3),minmax(0,1fr))!important;
  gap:var(--bnpsl2-gap,18px);
  align-items:stretch;
}
.bnpsl2-h3-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  overflow:hidden!important;
  border:1px solid var(--bnpsl2-line)!important;
  border-radius:var(--bnpsl2-radius,18px)!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
}
.bnpsl2-h3-card .bnpsl2-media{
  width:100%;
  aspect-ratio:4/3;
  background:var(--bnpsl2-soft);
  overflow:hidden;
}
.bnpsl2-h3-card .bnpsl2-media>*{width:100%;height:100%;margin:0!important}
.bnpsl2-h3-card .bnpsl2-media img{width:100%;height:100%;object-fit:cover}
.bnpsl2-h3-card .bnpsl2-copy{padding:16px 16px 18px;display:flex!important;flex-direction:column!important;flex:1;min-width:0}
.bnpsl2-h3-card h3{font-size:15px!important;line-height:1.35!important;margin:0 0 8px!important}
.bnpsl2-h3-card p,.bnpsl2-h3-card li{font-size:12.5px!important;line-height:1.62!important}
.bnpsl2-h3-card p{margin:0 0 8px!important}
.bnpsl2-h3-card p:last-child{margin-bottom:0!important}
.bnpsl2-h3-card ul,.bnpsl2-h3-card ol{margin:7px 0 0 17px!important}
.bnpsl2-h3-card.bnpsl2-no-media{border-top:3px solid var(--bnpsl2-accent,#e31b23)!important}

/* FAQ chỉ trong mô tả, không biến thành card ảnh */
.bnpsl2-faq-block{
  grid-column:1/-1;
  border:1px solid var(--bnpsl2-line)!important;
  border-radius:var(--bnpsl2-radius,18px);
  background:#fff;
  padding:clamp(22px,3vw,34px);
}
.bnpsl2-faq-block h2{font-size:clamp(23px,2vw,31px)!important;line-height:1.18!important;margin:0 0 16px!important}
.bnpsl2-faq-block h3{font-size:16px!important;line-height:1.4!important;margin:20px 0 6px!important}
.bnpsl2-faq-block h3:first-of-type{margin-top:6px!important}
.bnpsl2-faq-block p{margin:0 0 9px!important}

/* Kết luận: full width, không kéo các module sau vào layout */
.bnpsl2-conclusion{
  grid-column:1/-1;
  padding:24px 0 2px;
  border-top:1px solid var(--bnpsl2-line);
}
.bnpsl2-conclusion h2{font-size:clamp(22px,2vw,30px)!important;margin:0 0 10px!important}
.bnpsl2-conclusion p{max-width:900px;margin:0!important}

@media (max-width:899px) and (min-width:701px){
  .bnpsl2-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bnpsl2-h3-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bnpsl2-hero{grid-template-columns:1fr 1fr!important}
}

@media (max-width:700px){
  .bnpsl2-story.bnpsl2-breakout{width:auto!important;max-width:100%;margin-left:0!important;transform:none}
  .bnpsl2-story{margin:28px 0 38px}
  .bnpsl2-hero{grid-template-columns:1fr!important;min-height:0;margin-bottom:26px;border-radius:14px}
  .bnpsl2-hero .bnpsl2-copy{padding:25px 21px}
  .bnpsl2-hero h2{font-size:27px!important}
  .bnpsl2-hero .bnpsl2-media,.bnpsl2-hero .bnpsl2-media img{min-height:230px}
  .bnpsl2-grid{grid-template-columns:1fr!important;gap:14px}
  .bnpsl2-card,.bnpsl2-h3-card{border-radius:14px}
  .bnpsl2-card h2{font-size:18px!important}
  .bnpsl2-card p,.bnpsl2-card li{font-size:14px!important}
  .bnpsl2-h3-list{grid-template-columns:1fr!important;gap:14px}
  .bnpsl2-h3-card .bnpsl2-media{aspect-ratio:16/10}
  .bnpsl2-h3-card .bnpsl2-copy{padding:17px 17px 19px}
  .bnpsl2-h3-card h3{font-size:17px!important}
  .bnpsl2-h3-card p,.bnpsl2-h3-card li{font-size:14px!important}
  .bnpsl2-faq-block{border-radius:14px;padding:21px 18px}
}

/* ===== 2.6: adaptive H3 long-form — chỉ trong MÔ TẢ =====
   Sản phẩm kiểu Sony A6400: không ép H3 dài thành card ảnh ở trên.
   Mỗi H3 là một block ngang; ảnh xen kẽ trái/phải trên desktop.
   Hero đầu vẫn giữ Canon-style đen + đỏ, nhưng media fill kín ở rule phía trên. */
.bnpsl2-h3-section.bnpsl2-h3-longform{
  margin-top:10px;
}
.bnpsl2-h3-longform .bnpsl2-section-intro{
  max-width:none;
  margin:0 0 18px;
  border:1px solid var(--bnpsl2-line)!important;
  border-radius:var(--bnpsl2-radius,18px)!important;
  background:#fff!important;
  padding:clamp(22px,3vw,32px);
  overflow:hidden;
}
.bnpsl2-h3-longform .bnpsl2-section-intro img,
.bnpsl2-h3-longform .bnpsl2-section-intro figure,
.bnpsl2-h3-longform .bnpsl2-section-intro picture{
  border-radius:calc(var(--bnpsl2-radius,18px) * 0.6);
  overflow:hidden;
  margin-top:16px!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px;
}
.bnpsl2-h3-longform .bnpsl2-h3-card{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  align-items:stretch!important;
  min-height:280px!important;
  overflow:hidden!important;
  border:1px solid var(--bnpsl2-line)!important;
  border-radius:var(--bnpsl2-radius,18px)!important;
  background:#fff!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media{
  width:100%;
  height:100%;
  min-height:280px;
  aspect-ratio:auto;
  overflow:hidden;
  background:#f4f5f6;
}
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media > *,
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media a,
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media p,
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media figure,
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media picture{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:280px!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center;
  padding:clamp(22px,3vw,38px);
}
.bnpsl2-h3-longform .bnpsl2-h3-card h3{
  font-size:clamp(18px,1.65vw,24px)!important;
  line-height:1.28!important;
  margin:0 0 10px!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-card p,
.bnpsl2-h3-longform .bnpsl2-h3-card li{
  font-size:13.5px!important;
  line-height:1.72!important;
}
/* card chẵn: text trái, ảnh phải */
.bnpsl2-h3-longform .bnpsl2-h3-card:nth-child(even) .bnpsl2-copy{order:1}
.bnpsl2-h3-longform .bnpsl2-h3-card:nth-child(even) .bnpsl2-media{order:2}
/* H3 không có ảnh: giữ full-width text, không tạo khoảng trắng giả */
.bnpsl2-h3-longform .bnpsl2-h3-card.bnpsl2-no-media{
  display:block;
  min-height:0;
  border-top:3px solid var(--bnpsl2-accent,#e31b23)!important;
}
.bnpsl2-h3-longform .bnpsl2-h3-card.bnpsl2-no-media .bnpsl2-copy{
  padding:24px 26px;
}

@media (max-width:899px){
  .bnpsl2-h3-longform .bnpsl2-h3-card{
    grid-template-columns:1fr!important;
    min-height:0;
  }
  .bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media,
  .bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/10;
  }
  .bnpsl2-h3-longform .bnpsl2-h3-card .bnpsl2-media img{object-fit:cover!important}
  .bnpsl2-h3-longform .bnpsl2-h3-card:nth-child(even) .bnpsl2-media{order:0}
  .bnpsl2-h3-longform .bnpsl2-h3-card:nth-child(even) .bnpsl2-copy{order:1}
}
