/* ==========================================================================
   555 Phool Jhadu — Product Detail Page (trimmed)
   Only styles for: gallery + stage + lightbox + info block are kept.
   ========================================================================== */

:root{
  /* ---- Color tokens ---- */
  --cream:        #FBF6EC;   /* page background — warm kraft-paper cream */
  --paper:        #FFFFFF;   /* card surfaces */
  --ink:          #241C13;   /* primary text — warm near-black */
  --ink-soft:     #6E6152;   /* secondary text */
  --line:         #E31E24;   /* hairline dividers */
  --red:          #C81E2C;   /* brand red — from packaging */
  --red-dark:     #9C141F;
  --gold:         #B08D3E;   /* straw / bristle gold */
  --gold-soft:    #F3E6C4;
  --green:        #56663B;   /* leaf green — eco / in-stock */
  --green-soft:   #E7EEDC;

  --radius-s: 6px;
  --radius-m: 12px;
  --radius-l: 20px;
  --shadow-card: 0 1px 2px rgba(36,28,19,.06), 0 8px 24px -12px rgba(36,28,19,.18);
  --shadow-pop:  0 24px 64px -16px rgba(36,28,19,.45);
}

*{ box-sizing:border-box; }
/* body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family: 'Mavorasans-normalregular';'Inter',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
} */
img{ max-width:100%;  }
button{ font-family: 'Mavorasans-normalregular'; cursor:pointer; }

.wrap{ max-width:1140px; margin:0 auto;  }

/* ==========================================================================
   PRODUCT LAYOUT
   ========================================================================== */
.pdp{
  display:grid;
  grid-template-columns:minmax(0,460px) 1fr;
  gap:56px;
  padding:50px 12px 64px;
  align-items:start;
}

/* sliding track: all images sit in a row, we translateX to "carousel" between them */
.lightbox-track{
  display:flex;
  width:100%; height:100%;
  transition:transform .35s ease;
}
.lightbox-track img{
  flex:0 0 100%;
  width:100%; height:100%;
  object-fit:contain;
  padding:24px;
}
.btm_img img{
  border-radius: 100%;
    width: 100%;
    max-width: 100px;
    height: 100px;
    object-fit: cover;
}
div div.new-hbc img{
      border-radius: 100%;
    width: 100%;
    max-width: 100px;
    height: 100px;
    object-fit: cover;
}
div.block__column img{
  max-width: 200px;
}
.img_info{
text-align: center;
font-weight: 600;
}
.img_info + img{
  width: 100%;
  max-width: 80px;
}
.block_column .img_info {
    text-align: left;
    font-weight: 400;
}
.block_column img {
        max-width: 100px;
}
.block_column div {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
        justify-content: flex-end;
        gap: 15px;
}

/* ---- Gallery ---- */
.gallery{ display:block;  }
.thumb-rail{
  display:flex; flex-direction:column; gap:10px;
  width:72px; flex-shrink:0;
}
.thumb-rail button{
  border:1.5px solid var(--line);
  background:var(--paper);
  border-radius:var(--radius-s);
  padding:4px;
  overflow:hidden;
  position:relative;
  transition:border-color .15s ease, transform .15s ease;
}
.thumb-rail button img{ border-radius:3px; aspect-ratio:1/1; object-fit:cover; }
.thumb-rail button:hover{ transform:translateY(-1px); }
.thumb-rail button.active{ border-color:var(--red); }
.thumb-rail button.active::after{
  content:"";
  position:absolute; inset:0;
  border-radius:var(--radius-s);
  box-shadow:0 0 0 3px rgba(200,30,44,.14);
}
.carton-block {
    margin-top: 24px;
    padding: 0;
    background: transparent;
    border: none;
}

.carton-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13px;
    text-align: center;
}

.carton-table th,
.carton-table td {
    border: 1px solid #E31E24;
    padding: 7px 5px;
    text-align: center;
    vertical-align: middle;
}

.carton-table th {
    font-weight: 700;
    line-height: 1.2;
    color: #000;
    background: #fff;
}

.carton-table td {
    font-weight: 400;
    color: #000;
    background: #fff;
    height: 40px;
}
.stage{
  position:relative;
  flex:1;
  aspect-ratio:1/1.06;
  border-radius:var(--radius-l);
  overflow:hidden;
  cursor:zoom-in;
  /* background:
    radial-gradient(120% 90% at 50% 12%, #FFFDF8 0%, #F3E9D4 68%, #EADFC4 100%); */
  border:1px solid #00000029;
      box-shadow: 0 0px 12px rgba(0, 0, 0, 0.5);
}
.stage::before{
  /* subtle kraft-paper grain so the product doesn't float on flat white */
  content:"";
  position:absolute; inset:0;
  background-image:radial-gradient(rgba(176,141,62,.09) 1px, transparent 1px);
  background-size:4px 4px;
  mix-blend-mode:multiply;
  opacity:.5;
  pointer-events:none;
}

.stage >img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:contain;
  padding:20px;
  transition:opacity .25s ease, transform .35s ease;
}
.stage .zoom-cue{
  position:absolute; right:16px; bottom:16px;
  width:40px; height:40px;
  border-radius:50%;
  background:rgba(36,28,19,.82);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  backdrop-filter:blur(2px);
}
.stage .badge-combo{
  position:absolute; top:16px; left:16px;
  background:var(--red);
  color:#fff;
  font-family: 'Mavorasans-normalregular';
  font-size:13px;
  letter-spacing:.03em;
  padding:6px 12px 5px;
  border-radius:999px;
  box-shadow:0 4px 10px -2px rgba(200,30,44,.5);
}

/* prev/next: hidden by default, shown only on stage hover */
.stage-nav{
  position:absolute; top:50%; translate:0 -50%;
  width:34px; height:34px; border-radius:50%;
  border:none; background:rgba(255,255,255,.9);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  display:flex; align-items:center; justify-content:center;
  font-size:15px; color:var(--ink);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, background .15s ease;
}
.stage:hover .stage-nav{
  opacity:1;
  pointer-events:auto;
}
.stage-nav.prev{ left:14px; }
.stage-nav.next{ right:14px; }
.stage-nav:hover{ background:#fff; }

/* ---- Info column ---- */
.info h1{
  font-family: 'Mavorasans-normalregular';
  font-weight:700;
  font-size:34px;
  line-height:1.12;
  letter-spacing:.01em;
  margin:0 0 14px;
}

.rating-row{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.rating-pill{
  background:var(--green); color:#fff;
  font-size:12.5px; font-weight:700;
  padding:3px 8px; border-radius:5px;
  display:flex; align-items:center; gap:4px;
}
.rating-row .count{ font-size:13px; color:var(--ink-soft); }

.price-block{
  display:flex; align-items:center; gap:12px;
  padding:18px 0;
  border-top:1px dashed var(--line);
  border-bottom:1px dashed var(--line);
  margin-bottom:20px;
  flex-wrap:wrap;
}
.trust-row img{
  max-width: 25px;
  width: 100%;
}
.price-block .now{ font-family: 'Mavorasans-normalregular';font-size:32px; color:var(--red);     font-weight: 700; }
.price-block .mrp{  color:var(--ink-soft); font-size:18px; }
.price-block .off{ color:var(--green); font-weight:700; font-size:14px; }
.price-block .tax{ width:100%; font-size:12px; color:var(--ink-soft); margin-top:2px; }

.highlights{ list-style:none; padding:0; margin:0 0 24px; display:grid; gap:10px; }
.highlights li{ display:flex; gap:10px; font-size:14px; align-items:flex-start; }
.highlights li .dot{
  flex-shrink:0; width:20px; height:20px; border-radius:50%;
  background:var(--gold-soft); color:var(--gold);
  display:flex; align-items:center; justify-content:center; font-size:11px; margin-top:1px;
}
.gallery_card{
   display:flex; gap:18px;
}

.trust-row{ display:flex; gap:18px; flex-wrap:wrap; }
.trust-row .item{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-soft); }
.trust-row .icon{ width:28px; height:28px; border-radius:50%; background:var(--green-soft); color:var(--green); display:flex; align-items:center; justify-content:center; font-size:13px; }

/* ---- Packaging / carton details ---- */
.carton-block{
  margin-top:24px;
  padding:18px 20px;
  background:var(--paper);
  border:1px solid #E31E24;
  border-radius:var(--radius-m);
}
.carton-block h3{
  font-family: 'Mavorasans-normalregular';
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
  margin:0 0 10px;
  color:var(--ink);
}
.carton-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.carton-table tr td{ padding:8px 0; border-bottom:1px solid #E31E24; }
/* .carton-table tr:last-child td{ border-bottom:none; } */
.carton-table tr td:first-child{ color:#000; width:55%; }
.carton-table tr td:last-child{ font-weight:400; color:var(--ink); text-align:center; }

.info h4{
  font-weight: 700;
}
/* ==========================================================================
   LIGHTBOX (image-click popup carousel)
   ========================================================================== */
.lightbox{
  position:fixed; inset:0; z-index:10000;
  background:rgba(20,15,9,.92);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .22s ease;
}
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox-inner{
  width:min(880px,92vw);
  max-height:88vh;
  display:flex; flex-direction:column; align-items:center; gap:18px;
}
.lightbox-stage{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  max-height:62vh;
  background:var(--paper);
  border-radius:var(--radius-l);
  overflow:hidden;
  box-shadow:var(--shadow-pop);
}

/* prev/next arrows — must stay INSIDE the stage's bounds since the stage
   clips overflow, and must sit above the sliding track (z-index) */
.lightbox-nav{
  position:absolute; top:50%; translate:0 -50%;
  width:44px; height:44px; border-radius:50%;
  border:none; background:rgba(255,255,255,.95); color:var(--ink);
  font-size:18px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
  z-index:2;
}
.lightbox-nav.prev{ left:16px; }
.lightbox-nav.next{ right:16px; }
.lightbox-nav:hover{ background:#fff; }

/* column that holds the up-arrow / thumbnails / down-arrow */
.thumb-col{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  width:72px; flex-shrink:0;
}
.thumb-nav{
  width:100%; height:26px;
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:var(--radius-s);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; color:var(--ink-soft);
  flex-shrink:0;
  transition:background .15s ease, color .15s ease;
}
.thumb-nav:hover{ background:var(--gold-soft); color:var(--ink); }
.thumb-nav[hidden]{ display:none; }

/* shows at most 5 thumbnails (72px each + 10px gap); rest scrolls */
.thumb-rail{
  display:flex; flex-direction:column; gap:10px;
  width:72px;
  max-height:calc(72px * 5 + 10px * 4);
  overflow-y:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.thumb-rail::-webkit-scrollbar{ display:none; }

.lightbox-close{
  position:absolute; top:-46px; right:0;
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.35); background:transparent; color:#fff;
  font-size:16px; display:flex; align-items:center; justify-content:center;
}
.lightbox-counter{
  position:absolute; top:-46px; left:0;
  color:rgba(255,255,255,.7); font-size:13px; letter-spacing:.04em;
}
.lightbox-thumbs{ display:flex; gap:10px; }
.lightbox-thumbs button{
  width:56px; height:56px; border-radius:var(--radius-s);
  border:1.5px solid rgba(255,255,255,.25); background:var(--paper);
  overflow:hidden; padding:3px;
}
.lightbox-thumbs button.active{ border-color:var(--red); }
.lightbox-thumbs img{ width:100%; height:100%; object-fit:cover; border-radius:3px; }

/* ---- Responsive ---- */
@media (max-width:920px){
  .pdp{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:480px){
  .thumb-rail{ width:56px; }
  .info h1{ font-size:26px; }
  .price-block .now{ font-size:26px; }
  /* on touch devices hover doesn't apply — keep nav visible */
  .stage-nav{ opacity:1; pointer-events:auto; }
}


.thumb-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 72px;
    flex-shrink: 0;
}

.thumb-rail {
    display: flex;
    flex-direction: column;
    gap: 10px;

    width: 72px;

    /* Only 5 thumbnails visible */
    height: 400px;

    overflow: hidden;
    position: relative;

    scroll-behavior: smooth;
}

.thumb-rail button {
    width: 72px;
    height: 72px;
    min-height: 72px;
    flex: 0 0 72px;

    border: 1.5px solid #00000029;
    background: var(--paper);
    border-radius: var(--radius-s);
    padding: 4px;
    overflow: hidden;
    position: relative;

    transition: border-color .15s ease, transform .15s ease;
}

.thumb-rail button img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 3px;
    object-fit: cover;
}

.thumb-rail button.active {
    border-color: var(--red);
}

.thumb-nav {
    width: 100%;
    height: 26px;
    border: 1px solid var(--line);
    background: var(--paper);
    border-radius: var(--radius-s);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 13px;
    color: var(--ink-soft);

    flex-shrink: 0;
    cursor: pointer;

    transition: background .15s ease, color .15s ease;
}

.thumb-nav:hover {
    background: var(--gold-soft);
    color: var(--ink);
}

.thumb-nav[hidden] {
    display: none !important;
}