/* ============================================================
   BIONARA — Página de producto inmersiva + reseñas
   ============================================================ */

.product-page{
  position:fixed;inset:0;z-index:115;background:var(--cream);
  overflow-y:auto;overflow-x:hidden;
  opacity:0;visibility:hidden;transform:translateY(18px);
  transition:opacity .4s var(--ease),transform .45s var(--ease),visibility .4s;
}
.product-page.open{opacity:1;visibility:visible;transform:none;}

/* sticky mini header */
.pp-head{
  position:sticky;top:0;z-index:20;background:rgba(251,248,240,.92);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line);
}
.pp-head .row{display:flex;align-items:center;gap:16px;height:66px;}
.pp-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;color:var(--green-800);padding:9px 16px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s;}
.pp-back:hover{transform:translateX(-3px);box-shadow:var(--shadow-sm);}
.pp-back svg{width:18px;height:18px;}
.pp-head .brand{margin:0 auto;}
.pp-head .brand img{height:40px;}
.pp-head .cart-btn{flex-shrink:0;}

/* breadcrumb */
.breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:22px 0 0;font-size:.86rem;color:var(--muted);}
.breadcrumb a{color:var(--ink-soft);transition:color .2s;}
.breadcrumb a:hover{color:var(--green-700);}
.breadcrumb svg{width:14px;height:14px;opacity:.6;}
.breadcrumb .cur{color:var(--green-800);font-weight:600;}

/* ---------- hero: gallery + buy panel ---------- */
.pp-hero{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;padding:30px 0 60px;align-items:start;}

.gallery{position:sticky;top:90px;}
.gal-stage{
  position:relative;aspect-ratio:1/1;border-radius:var(--r-xl);overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 42%, color-mix(in srgb,var(--cc,#258a52) 15%,#fff), color-mix(in srgb,var(--cc,#258a52) 4%,var(--cream-2)) 72%);
  border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-md);
}
.gal-stage .g-glow{position:absolute;width:82%;height:82%;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--cc) 22%,transparent), transparent 68%);filter:blur(26px);}
.gal-stage .g-rings{position:absolute;width:74%;height:74%;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--cc) 22%,transparent);}
.gal-stage .g-rings::before{content:"";position:absolute;inset:40px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--cc2) 24%,transparent);}
.gal-stage .g-floor{position:absolute;left:20%;right:20%;bottom:16%;height:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.16),transparent 70%);filter:blur(5px);}
.gal-stage .g-particles{position:absolute;inset:0;pointer-events:none;}
.gal-stage .g-particles i{position:absolute;width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--cc) 65%,#fff);opacity:.55;animation:floatDot linear infinite;}
.gal-img{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;z-index:3;max-height:80%;max-width:78%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(16,40,28,.26));animation:bob 5s ease-in-out infinite;will-change:transform;}
.gal-stage .silh{position:relative;z-index:3;animation:bob 5s ease-in-out infinite;}
.gal-badges{position:absolute;top:18px;left:18px;z-index:4;display:flex;flex-direction:column;gap:8px;}
.gal-thumbs{display:flex;gap:12px;margin-top:16px;}
.gal-thumb{width:74px;height:74px;border-radius:var(--r-md);background:radial-gradient(circle,#fff,var(--cream-2));border:2px solid var(--line);display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:border-color .25s,transform .25s;}
.gal-thumb img{width:78%;height:78%;object-fit:contain;}
.gal-thumb .silh{transform:scale(.4);}
.gal-thumb:hover{transform:translateY(-2px);}
.gal-thumb.active{border-color:var(--cc);}

/* buy panel */
.buy .b-line{font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cc);}
.buy h1{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-top:8px;}
.buy .b-rate{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;}
.stars{display:inline-flex;gap:2px;color:var(--gold-500);}
.stars svg{width:18px;height:18px;}
.stars .half{position:relative;}
.b-rate .score{font-family:var(--font-head);font-weight:700;color:var(--green-900);}
.b-rate .rev-link{color:var(--ink-soft);font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.b-rate .verified{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--ok);}
.b-rate .verified svg{width:15px;height:15px;}

.buy .b-desc{color:var(--ink-soft);margin-top:18px;font-size:1.06rem;line-height:1.6;}
.b-pricewrap{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap;}
.b-was{font-family:var(--font-head);font-size:1.15rem;color:#d92d20;text-decoration:line-through;font-weight:600;}
.b-now{font-family:var(--font-head);font-weight:800;font-size:2.1rem;color:var(--green-600);line-height:1;}
.b-save{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--font-head);font-weight:700;font-size:.9rem;color:#d92d20;background:#fdecea;border:1px solid #f7c9c4;padding:8px 14px;border-radius:var(--r-pill);width:fit-content;}
.b-save svg{width:15px;height:15px;color:#d92d20;}

.b-quote{display:flex;align-items:center;gap:12px;margin-top:22px;padding:16px 18px;border-radius:var(--r-md);background:linear-gradient(100deg,color-mix(in srgb,var(--cc) 10%,#fff),var(--paper));border:1px solid color-mix(in srgb,var(--cc) 22%,transparent);}
.b-quote .ic{width:42px;height:42px;border-radius:12px;background:#eaf7ef;color:#1faf54;display:grid;place-items:center;flex-shrink:0;}
.b-quote .ic svg{width:22px;height:22px;}
.b-quote b{font-family:var(--font-head);color:var(--green-900);display:block;font-size:1rem;}
.b-quote span{font-size:.86rem;color:var(--ink-soft);}
.b-price{font-family:var(--font-head);font-weight:800;font-size:2rem;color:var(--green-900);margin-top:20px;}

.b-urgency{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:.9rem;color:var(--ink-soft);}
.b-urgency .live{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(239,125,46,.6);animation:pulse-dot 2s infinite;flex-shrink:0;}
.b-urgency b{color:var(--green-900);}

.b-qtyrow{display:flex;align-items:center;gap:14px;margin-top:22px;}
.b-qtyrow .lbl{font-family:var(--font-head);font-weight:600;color:var(--ink-soft);font-size:.92rem;}
.b-qty{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;}
.b-qty button{width:44px;height:44px;display:grid;place-items:center;color:var(--green-800);font-size:1.3rem;font-weight:700;transition:background .2s;}
.b-qty button:hover{background:var(--cream-2);}
.b-qty span{min-width:40px;text-align:center;font-family:var(--font-head);font-weight:700;font-size:1.05rem;}

.b-actions{display:flex;gap:12px;margin-top:22px;}
.b-actions .btn-primary{flex:1;background:var(--cc);font-size:1.04rem;padding:17px 26px;}
.b-actions .btn-primary:hover{background:color-mix(in srgb,var(--cc) 82%,#000);}
.b-actions .fav-big{width:54px;height:54px;border-radius:16px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);transition:transform .25s,color .2s;flex-shrink:0;}
.b-actions .fav-big.on{color:var(--amber);}
.b-actions .fav-big:hover{transform:scale(1.06);}
.b-actions .fav-big svg{width:22px;height:22px;}
.b-wa{margin-top:12px;width:100%;}

.b-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px;}
.b-trust .item{text-align:center;padding:16px 8px;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--line);}
.b-trust .item .ic{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--cc) 12%,#fff);color:var(--cc);display:grid;place-items:center;margin:0 auto 8px;}
.b-trust .item .ic svg{width:19px;height:19px;}
.b-trust .item b{display:block;font-family:var(--font-head);font-size:.82rem;color:var(--green-900);}
.b-trust .item span{font-size:.74rem;color:var(--muted);}

.b-pay{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap;}
.b-pay span{font-family:var(--font-head);font-weight:700;font-size:.7rem;letter-spacing:.03em;color:var(--ink-soft);background:var(--cream-2);border:1px solid var(--line);border-radius:7px;padding:7px 10px;}

/* ---------- info tabs ---------- */
.pp-section{padding:54px 0;border-top:1px solid var(--line);}
.pp-section h2{font-size:clamp(1.5rem,2.8vw,2rem);}
.info-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;background:var(--cream-2);padding:6px;border-radius:var(--r-pill);width:fit-content;max-width:100%;}
.info-tabs button{font-family:var(--font-head);font-weight:600;font-size:.94rem;padding:11px 22px;border-radius:var(--r-pill);color:var(--ink-soft);transition:all .3s var(--ease);white-space:nowrap;}
.info-tabs button.active{background:#fff;color:var(--cc);box-shadow:var(--shadow-sm);}
.info-panel{display:none;animation:fadeUp .45s var(--ease) both;max-width:780px;}
.info-panel.active{display:block;}
.info-panel p{color:var(--ink-soft);font-size:1.05rem;line-height:1.7;}
.info-bullets{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.info-bullets li{display:flex;gap:11px;align-items:flex-start;font-size:1rem;color:var(--ink);}
.info-bullets li .chk{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--cc) 13%,#fff);color:var(--cc);}
.info-bullets li .chk svg{width:15px;height:15px;}
.spec-table{width:100%;border-collapse:collapse;max-width:620px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table td{padding:15px 4px;font-size:1rem;}
.spec-table td:first-child{color:var(--muted);font-weight:600;width:42%;}
.spec-table td:last-child{color:var(--green-900);font-family:var(--font-head);font-weight:600;}

/* shipping/payment cards */
.ship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ship-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;transition:transform .4s var(--ease),box-shadow .4s;}
.ship-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.ship-card .ic{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,var(--cc),var(--cc2));color:#fff;display:grid;place-items:center;margin-bottom:16px;box-shadow:var(--shadow-sm);}
.ship-card .ic svg{width:24px;height:24px;}
.ship-card h3{font-size:1.14rem;}
.ship-card p{color:var(--ink-soft);margin-top:7px;font-size:.94rem;}

/* ---------- REVIEWS ---------- */
.reviews-top{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:center;margin-bottom:40px;}
.rev-score{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-sm);}
.rev-score .big{font-family:var(--font-head);font-weight:800;font-size:3.6rem;line-height:1;color:var(--green-900);}
.rev-score .stars{margin:10px 0 6px;justify-content:center;}
.rev-score .count{color:var(--muted);font-size:.9rem;}
.rev-bars{display:flex;flex-direction:column;gap:10px;}
.rev-bar{display:flex;align-items:center;gap:12px;}
.rev-bar .lab{display:inline-flex;align-items:center;gap:4px;font-size:.86rem;color:var(--ink-soft);width:46px;font-weight:600;}
.rev-bar .lab svg{width:13px;height:13px;color:var(--gold-500);}
.rev-bar .track{flex:1;height:9px;border-radius:5px;background:var(--cream-2);overflow:hidden;}
.rev-bar .fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--gold-500),var(--gold-400));width:0;transition:width 1s var(--ease);}
.rev-bar .pct{font-size:.84rem;color:var(--muted);width:42px;text-align:right;}

.rev-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rev-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s;}
.rev-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.rev-card .head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.rev-card .av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;color:#fff;font-size:1.1rem;flex-shrink:0;}
.rev-card .who b{font-family:var(--font-head);font-size:.98rem;color:var(--green-900);display:block;}
.rev-card .who .meta{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:7px;}
.rev-card .who .meta .vf{display:inline-flex;align-items:center;gap:3px;color:var(--ok);font-weight:600;}
.rev-card .who .meta .vf svg{width:12px;height:12px;}
.rev-card .stars{margin-bottom:8px;}
.rev-card .stars svg{width:15px;height:15px;}
.rev-card .r-title{font-family:var(--font-head);font-weight:700;color:var(--green-900);font-size:1rem;margin-bottom:5px;}
.rev-card .r-text{color:var(--ink-soft);font-size:.94rem;line-height:1.6;}
.reviews-note{margin-top:24px;font-size:.84rem;color:var(--muted);display:flex;align-items:center;gap:8px;}
.reviews-note svg{width:16px;height:16px;color:var(--green-600);flex-shrink:0;}

/* related */
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}

/* sticky mobile buy bar */
.pp-stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--paper);border-top:1px solid var(--line);
  padding:12px 18px;display:none;align-items:center;gap:12px;box-shadow:0 -8px 24px rgba(16,58,39,.08);
  transform:translateY(110%);transition:transform .4s var(--ease);
}
.pp-stickybar.show{transform:none;}
.pp-stickybar .s-info{flex:1;min-width:0;}
.pp-stickybar .s-info b{font-family:var(--font-head);font-size:.92rem;color:var(--green-900);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pp-stickybar .s-info span{font-size:.78rem;color:var(--muted);}
.pp-stickybar .btn{padding:13px 20px;}

@media (max-width:980px){
  .pp-hero{grid-template-columns:1fr;gap:30px;}
  .gallery{position:static;max-width:460px;margin:0 auto;width:100%;}
  .reviews-top{grid-template-columns:1fr;gap:24px;}
  .rev-list{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:680px){
  .pp-head .brand{display:none;}
  .pp-hero{padding-top:18px;}
  .info-bullets{grid-template-columns:1fr;}
  .b-trust{grid-template-columns:1fr 1fr 1fr;gap:8px;}
  .ship-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .pp-stickybar{display:flex;}
  .product-page{padding-bottom:80px;}
  .b-actions .btn-primary{font-size:.98rem;}
  .rev-score .big{font-size:3rem;}
}
