﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --verde: #0d2b1a; --dorado: #d4af37; --dorado2: #b5890a;
  --crema: #f5edd8; --crema2: #ede0c4; --marron: #4a2c0a;
  --texto: #2a1a05; --sombra: rgba(0,0,0,0.5);
}
html,body{height:100%;font-family:'Lato',sans-serif;background:var(--verde);overflow:hidden}

/* ── NAV ── */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(13,43,26,0.97);border-bottom:1px solid rgba(212,175,55,0.2);
  display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.5rem;
}
.topbar-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.topbar-logo img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.topbar-logo span{font-family:'Cinzel',serif;color:var(--dorado);font-size:.95rem;letter-spacing:2px}
.btn-back{
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:2px;
  color:var(--dorado);border:1px solid rgba(212,175,55,.3);
  padding:.4rem 1rem;border-radius:3px;text-decoration:none;transition:all .3s;
}
.btn-back:hover{background:rgba(212,175,55,.1)}

/* ── ESCENARIO ── */
.scene{
  display:flex;align-items:center;justify-content:center;
  height:100vh;padding:4.5rem 1rem 1rem;
  background:#0a1a0d;
}

/* ── LIBRO ── */
.book-container{
  position:relative;width:900px;max-width:98vw;height:580px;
  perspective:2000px;
}
.book{
  width:100%;height:100%;position:relative;
  transform-style:preserve-3d;
}

/* ── PORTADA CUERO REPUJADO ── */
.cover{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:10;
  border-radius:4px 12px 12px 4px;
  transition:transform .8s ease,opacity .5s ease;
  overflow:hidden;

  /* Base cuero oscuro */
  background-color: #2a1505;

  /* Capas de textura cuero: granulado + vetas + iluminación */
  background-image:
    /* viñeta perimetral */
    radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55) 100%),
    /* iluminación central suave */
    radial-gradient(ellipse at 48% 42%, rgba(120,70,20,.35) 0%, transparent 65%),
    /* veta diagonal cuero */
    repeating-linear-gradient(
      127deg,
      transparent,
      transparent 3px,
      rgba(0,0,0,.04) 3px,
      rgba(0,0,0,.04) 4px
    ),
    /* grano fino cuero */
    repeating-linear-gradient(
      43deg,
      transparent,
      transparent 2px,
      rgba(255,255,255,.015) 2px,
      rgba(255,255,255,.015) 3px
    ),
    /* color base cuero marrón */
    linear-gradient(160deg, #3d1f08 0%, #2a1505 40%, #1e0f02 70%, #2e1608 100%);

  box-shadow:
    -12px 14px 50px rgba(0,0,0,.8),
    inset 0 0 80px rgba(0,0,0,.4),
    inset 1px 1px 0 rgba(255,200,100,.06);
}
.cover.open{transform:rotateY(-180deg) translateX(-100%);opacity:0;pointer-events:none}

/* Marco repujado exterior */
.cover::before{
  content:'';
  position:absolute;inset:14px;
  border:2px solid rgba(180,130,30,.35);
  border-radius:3px;
  box-shadow:
    inset 0 0 0 1px rgba(255,200,80,.08),
    0 0 0 1px rgba(0,0,0,.4);
  pointer-events:none;
}
/* Marco repujado interior */
.cover::after{
  content:'';
  position:absolute;inset:20px;
  border:1px solid rgba(180,130,30,.2);
  border-radius:2px;
  pointer-events:none;
}

.cover-inner{
  text-align:center;
  padding:1.8rem 2.2rem;
  position:relative;z-index:1;
}

/* Medallón del logo — aspecto bronce repujado */
.cover-medallion{
  position:relative;
  width:130px;height:130px;
  margin:0 auto 1.4rem;
}
.cover-medallion::before{
  content:'';
  position:absolute;inset:-6px;border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, #e8c060 0%, #b5890a 40%, #7a5408 70%, #4a3005 100%);
  box-shadow:
    0 4px 14px rgba(0,0,0,.7),
    inset 0 2px 4px rgba(255,220,100,.3),
    inset 0 -2px 4px rgba(0,0,0,.5);
}
.cover img{
  position:relative;z-index:1;
  width:130px;height:130px;border-radius:50%;object-fit:cover;
  border:3px solid #7a5408;
  filter:sepia(.15) contrast(1.05);
  animation:sway 6s ease-in-out infinite;
}
@keyframes sway{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.01) rotate(.5deg)}}

/* Título repujado */
.cover h1{
  font-family:'Cinzel',serif;
  font-size:1.55rem;letter-spacing:5px;line-height:1.4;
  margin-bottom:.3rem;
  font-weight:700;
  color:#d4a012;
  text-shadow:
    /* luz superior izquierda — brillo del relieve */
    -1px -2px 0 rgba(255,230,100,.55),
    -1px -1px 0 rgba(255,220,80,.3),
    /* sombra inferior derecha — hundimiento */
    2px  3px 0 rgba(0,0,0,.95),
    3px  4px 2px rgba(0,0,0,.8),
    4px  5px 6px rgba(0,0,0,.6),
    /* halo cálido sutil */
    0 0 18px rgba(180,110,0,.2);
}

/* Subtítulo repujado */
.cover p{
  font-size:.72rem;letter-spacing:5px;text-transform:uppercase;
  margin-bottom:0;font-weight:600;
  color:#a07818;
  text-shadow:
    -1px -1px 0 rgba(255,210,80,.3),
     1px  2px 0 rgba(0,0,0,.95),
     2px  3px 3px rgba(0,0,0,.7);
}

/* Separador dorado repujado */
.cover-divider{
  width:70px;height:1px;margin:.9rem auto;
  background:linear-gradient(90deg,transparent,#b5890a,transparent);
  box-shadow:0 1px 0 rgba(0,0,0,.6), 0 -1px 0 rgba(255,200,60,.1);
}

/* Ornamentos de esquina (SVG inline) */
.cover-corners{
  position:absolute;inset:24px;
  pointer-events:none;
}
.cover-corner{
  position:absolute;width:22px;height:22px;
  border-color:rgba(160,110,20,.5);border-style:solid;
}
.cover-corner.tl{top:0;left:0;border-width:2px 0 0 2px;}
.cover-corner.tr{top:0;right:0;border-width:2px 2px 0 0;}
.cover-corner.bl{bottom:0;left:0;border-width:0 0 2px 2px;}
.cover-corner.br{bottom:0;right:0;border-width:0 2px 2px 0;}

/* Hint pulsante */
.cover-hint{
  display:block;margin-top:.9rem;
  color:rgba(160,110,20,.6);font-size:.7rem;letter-spacing:3px;
  text-shadow:0 1px 2px rgba(0,0,0,.8);
  animation:pulse 2.5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:.9}}

/* Lomo cuero */
.cover-spine{
  position:absolute;left:0;top:0;bottom:0;width:30px;
  background:
    linear-gradient(90deg,
      #1a0c02 0%,
      #3d1f08 20%,
      #5a3010 50%,
      #3d1f08 80%,
      #1a0c02 100%
    );
  border-radius:4px 0 0 4px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset -3px 0 6px rgba(0,0,0,.5), inset 2px 0 4px rgba(255,180,60,.06);
}
.cover-spine span{
  writing-mode:vertical-rl;font-family:'Cinzel',serif;
  color:#8a6510;font-size:.58rem;letter-spacing:3px;font-weight:700;
  text-shadow:1px 1px 2px rgba(0,0,0,.9),-1px -1px 0 rgba(255,200,60,.1);
}

/* ── PÁGINAS ── */
.pages{
  position:absolute;inset:0;
  display:flex;border-radius:4px 12px 12px 4px;
  overflow:hidden;
  box-shadow:-10px 10px 40px rgba(0,0,0,.7);
  opacity:0;pointer-events:none;transition:opacity .5s ease .3s;
}
.pages.visible{opacity:1;pointer-events:all}

/* Lomo del libro abierto */
.spine{
  width:24px;flex-shrink:0;
  background:linear-gradient(180deg,var(--dorado2),#7a5408,var(--dorado2));
}

/* Página izquierda (foto) */
.page-left{
  flex:1;
  background-color:#0d1810;
  background-image:
    radial-gradient(ellipse at 15% 85%, rgba(139,90,30,.13) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 15%, rgba(100,60,10,.09) 0%, transparent 45%);
  display:flex;flex-direction:column;align-items:center;
  padding:.9rem 1.1rem;gap:.55rem;border-right:2px solid #b8924a;
  position:relative;overflow:hidden;
}
.herb-photo{
  width:100%;height:245px;object-fit:cover;
  border:3px solid #c8a060;border-radius:2px;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  transition:opacity .4s ease;
}
.herb-photo.loading{opacity:.3}
.lote-badge{
  font-family:'EB Garamond',serif;font-size:.7rem;letter-spacing:2px;
  color:#d4af37;font-style:italic;
}
.herb-num{
  position:absolute;bottom:.8rem;right:.8rem;
  font-family:'EB Garamond',serif;font-size:.62rem;color:rgba(74,44,10,.35);font-style:italic;
}
.page-corner{
  position:absolute;bottom:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 0 28px 28px;
  border-color:transparent transparent #d4b87a transparent;
}
/* Botón imprimir */
.btn-print{
  width:100%;padding:.42rem .6rem;
  display:flex;align-items:center;justify-content:center;gap:.45rem;
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;
  color:#d4af37;
  background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.5);border-radius:3px;
  cursor:pointer;transition:all .2s;
}
.btn-print:hover{background:rgba(212,175,55,.22);border-color:#d4af37;}
.btn-print svg{flex-shrink:0}
/* Zonas reservadas */
.herb-zone{
  width:100%;border:1px dashed rgba(184,146,74,.5);border-radius:3px;
  padding:.45rem .6rem;display:flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.04);
}
.herb-zone-icon{
  width:28px;height:28px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(184,146,74,.2);
}
.herb-zone-icon svg{opacity:.6}
.herb-zone-text{flex:1}
.herb-zone-text strong{
  display:block;font-family:'Cinzel',serif;font-size:.56rem;
  letter-spacing:2px;text-transform:uppercase;color:#d4af37;
}
.herb-zone-text span{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.65rem;color:rgba(58,30,0,.5);line-height:1.35;
}
.herb-zone-link{
  font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:1px;
  color:#b8924a;text-decoration:none;white-space:nowrap;
  border-bottom:1px solid rgba(184,146,74,.4);
}
.herb-zone-link:hover{color:#d4af37}

/* Página derecha (contenido) */
.page-right{
  flex:1;
  background-color:#0d1810;
  background-image:
    radial-gradient(ellipse at 85% 90%, rgba(139,90,30,.12) 0%, transparent 50%),
    radial-gradient(ellipse at 10% 10%, rgba(100,60,10,.07) 0%, transparent 40%);
  display:flex;flex-direction:column;padding:1.5rem 1.8rem;
  overflow-y:auto;position:relative;
}
.page-right::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(transparent,transparent 27px,rgba(212,175,55,.06) 28px);
  pointer-events:none;
}
.herb-name-es{
  font-family:'EB Garamond',serif;
  font-style:italic;font-size:1.55rem;color:rgba(232,224,208,.92);
  border-bottom:2px solid #b8924a;padding-bottom:.4rem;margin-bottom:.2rem;
  line-height:1.3;
}
.herb-name-lat{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.8rem;color:rgba(232,224,208,.5);margin-bottom:1rem;
}
.herb-section-title{
  font-family:'EB Garamond',serif;font-size:.68rem;letter-spacing:2px;
  font-style:italic;color:#d4af37;margin:.9rem 0 .3rem;
}
.herb-props{list-style:none;padding:0}
.herb-props li{
  font-family:'EB Garamond',serif;font-style:italic;font-size:.88rem;color:rgba(232,224,208,.82);
  padding:.25rem 0 .25rem 1.2rem;position:relative;
  border-bottom:1px solid rgba(212,175,55,.07);
}
.herb-props li::before{content:'◆';position:absolute;left:0;color:#b8924a;font-size:.5rem;top:.45rem}
.herb-usos{
  font-family:'EB Garamond',serif;font-style:italic;font-size:.88rem;
  color:rgba(232,224,208,.82);line-height:1.7;
}
.herb-nota{
  margin-top:.6rem;padding:.5rem .7rem;
  font-family:'EB Garamond',serif;
  font-size:.72rem;color:rgba(232,224,208,.6);
  border-left:3px solid #b8924a;
  background:rgba(212,175,55,.07);
  font-style:italic;line-height:1.6;
  border-radius:0 2px 2px 0;
}
.herb-extra-val{
  font-family:'EB Garamond',serif;font-style:italic;font-size:.82rem;
  color:rgba(232,224,208,.82);line-height:1.65;margin:0 0 .3rem;
}
.herb-fuentes{
  font-size:.72rem;color:rgba(232,224,208,.5);
}

/* ── NAVEGACIÓN ── */
.nav-bar{
  position:absolute;bottom:-52px;left:0;right:0;
  display:flex;align-items:center;justify-content:center;gap:1.5rem;
  opacity:0;pointer-events:none;transition:opacity .4s ease;
}
.nav-bar.visible{opacity:1;pointer-events:all;}
.nav-btn{
  width:42px;height:42px;border-radius:50%;
  background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.4);
  color:var(--dorado);font-size:1.2rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s;
}
.nav-btn:hover{background:rgba(212,175,55,.3);transform:scale(1.08)}
.nav-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}
.nav-counter{
  font-family:'Cinzel',serif;color:rgba(212,175,55,.7);font-size:.8rem;letter-spacing:2px;
  min-width:80px;text-align:center;
}
.lote-indicator{
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:3px;
  color:rgba(212,175,55,.5);text-transform:uppercase;
}

/* ── TRANSICIÓN DE PÁGINA ── */
.page-flip{
  animation:flipPage .5s ease;
}
@keyframes flipPage{
  0%{opacity:1;transform:translateX(0)}
  40%{opacity:0;transform:translateX(-30px)}
  60%{opacity:0;transform:translateX(30px)}
  100%{opacity:1;transform:translateX(0)}
}

/* ── JUGOS INLINE ── */
.jugo-inline{margin-top:.9rem;border-top:1px solid rgba(184,146,74,.3);padding-top:.7rem}
.jugo-toggle-btn{width:100%;text-align:left;background:rgba(184,146,74,.1);border:1px solid rgba(184,146,74,.45);color:rgba(232,224,208,.85);font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;padding:.45rem .8rem;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}
.jugo-toggle-btn:hover{background:rgba(184,146,74,.22)}
.jugo-panel{margin-top:.5rem;background:rgba(255,255,255,.04);border:1px solid rgba(184,146,74,.3);border-radius:2px;overflow:hidden}
.jugo-panel-img{width:100%;height:130px;object-fit:cover;display:block}
.jugo-panel-body{padding:.65rem .8rem}
.jugo-panel-tag{font-family:'Cinzel',serif;font-size:.48rem;letter-spacing:2px;text-transform:uppercase;color:#b8924a;margin:0 0 .2rem}
.jugo-panel-nombre{font-family:'EB Garamond',serif;font-style:italic;font-size:.85rem;color:rgba(232,224,208,.92);line-height:1.3;margin:0 0 .4rem}
.jugo-panel-ayuda{font-style:italic;font-size:.72rem;color:rgba(232,224,208,.7);line-height:1.55;margin:0 0 .45rem;padding:.35rem .55rem;border-left:2px solid #b8924a;background:rgba(139,90,30,.07)}
.jugo-ing-title{font-family:'Cinzel',serif;font-size:.46rem;letter-spacing:2px;text-transform:uppercase;color:#d4af37;margin:.45rem 0 .2rem;padding-bottom:.15rem;border-bottom:1px solid rgba(184,146,74,.3)}
.jugo-ing-list{list-style:none;padding:0;margin:0 0 .45rem}
.jugo-ing-list li{font-style:italic;font-size:.71rem;color:rgba(232,224,208,.82);padding:2px 0 2px 12px;position:relative;border-bottom:1px solid rgba(212,175,55,.05)}
.jugo-ing-list li::before{content:'◆';position:absolute;left:0;color:#b8924a;font-size:.38rem;top:5px}
.jugo-prep-btn{width:100%;font-family:'Cinzel',serif;font-size:.48rem;letter-spacing:2px;text-transform:uppercase;background:transparent;border:1px solid #b8924a;color:#d4af37;padding:.32rem;cursor:pointer;border-radius:2px;margin-bottom:.35rem}
.jugo-prep-btn:hover{background:rgba(184,146,74,.1)}
.jugo-prep-list{margin:0 0 .3rem;padding-left:.9rem}
.jugo-prep-list li{font-style:italic;font-size:.71rem;color:rgba(232,224,208,.82);line-height:1.6;padding:2px 0}

/* ── FUENTES ── */
.fuentes-view{display:none;flex:1;overflow:hidden}
.fuentes-view.visible{display:flex}
.fuentes-page{
  flex:1;overflow-y:auto;padding:2rem 2.5rem;
  background:#0d1810;
  background-image:radial-gradient(ellipse at 85% 90%,rgba(139,90,30,.12) 0%,transparent 50%);
}
.fuentes-intro{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.85rem;color:rgba(232,224,208,.7);margin-bottom:1.2rem;line-height:1.7;
}
.fuentes-list{list-style:none;padding:0;margin:0}
.fuentes-list li{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.82rem;color:rgba(232,224,208,.82);line-height:1.7;
  padding:.5rem 0 .5rem 1.2rem;position:relative;
  border-bottom:1px solid rgba(212,175,55,.1);
}
.fuentes-list li::before{content:'◆';position:absolute;left:0;color:#b8924a;font-size:.5rem;top:.75rem}
.fuentes-cerrar{
  margin-top:1.5rem;
  font-family:'EB Garamond',serif;
  background:transparent;border:1px solid #b8924a;color:#d4af37;
  padding:.5rem 1.5rem;cursor:pointer;font-size:.8rem;font-style:italic;
  border-radius:2px;letter-spacing:1px;
}
.fuentes-cerrar:hover{background:rgba(184,146,74,.12)}

/* ── ÍNDICE ── */
#indexView{
  display:none;flex:1;
  overflow:hidden;
}
#indexView.visible{display:flex}
#plantView{display:flex;flex:1;overflow:hidden}
#plantView.hidden{display:none}

.idx-page-l{
  flex:1;
  background-color:#0d1810;
  background-image:
    radial-gradient(ellipse at 15% 85%, rgba(139,90,30,.13) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 15%, rgba(100,60,10,.09) 0%, transparent 45%);
  padding:1.4rem 1.6rem;
  display:flex;flex-direction:column;gap:.85rem;
  position:relative;border-right:2px solid #b8924a;
  overflow:visible;
}
.idx-page-l::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(transparent,transparent 27px,rgba(212,175,55,.06) 28px);
}
.idx-page-r{
  flex:1;
  background-color:#0d1810;
  background-image:
    radial-gradient(ellipse at 85% 90%, rgba(139,90,30,.12) 0%, transparent 50%),
    radial-gradient(ellipse at 10% 10%, rgba(100,60,10,.07) 0%, transparent 40%);
  padding:1.4rem 1.6rem;
  display:flex;flex-direction:column;gap:.5rem;
  position:relative;overflow-y:auto;
}
.idx-page-r::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(transparent,transparent 27px,rgba(212,175,55,.06) 28px);
}
.idx-title{
  font-family:'EB Garamond',serif;
  font-size:1.2rem;color:rgba(232,224,208,.92);font-style:italic;
  text-align:center;border-bottom:2px solid #b8924a;padding-bottom:.5rem;
  position:relative;z-index:1;
}
.idx-ornament{
  text-align:center;color:#b8924a;font-size:.75rem;letter-spacing:4px;
  position:relative;z-index:1;
}
.idx-field-label{
  font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:3px;
  text-transform:uppercase;color:#d4af37;
  position:relative;z-index:1;
}
.idx-search-box{
  display:flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.06);border:1px solid #b8924a;
  border-radius:3px;padding:.38rem .7rem;
  position:relative;z-index:1;
}
.idx-search-box input{
  flex:1;background:none;border:none;outline:none;
  font-family:'EB Garamond',serif;
  font-style:italic;font-size:.85rem;color:rgba(232,224,208,.9);
}
.idx-search-box input::placeholder{color:rgba(232,224,208,.3)}
.idx-select{
  width:100%;appearance:none;-webkit-appearance:none;
  background-color:rgba(255,255,255,.06);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23b8924a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .75rem center;
  border:1px solid #b8924a;border-radius:3px;
  padding:.42rem 2rem .42rem .75rem;
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.85rem;color:rgba(232,224,208,.9);cursor:pointer;outline:none;
  position:relative;z-index:1;
}
.idx-select option{background:#0d1810;color:rgba(232,224,208,.9);font-style:normal}
.idx-divider{border:none;border-top:1px solid rgba(184,146,74,.3);position:relative;z-index:1}
.idx-hint{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.76rem;color:rgba(232,224,208,.4);line-height:1.55;
  position:relative;z-index:1;margin-top:auto;
}
.idx-results-label{
  font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:3px;
  text-transform:uppercase;color:#d4af37;position:relative;z-index:1;
}
.idx-plant-list{list-style:none;padding:0;position:relative;z-index:1}
.idx-plant-item{
  display:flex;align-items:center;gap:.6rem;
  padding:.38rem 0;border-bottom:1px solid rgba(184,146,74,.15);
  cursor:pointer;transition:background .15s,padding-left .15s;
  border-radius:3px;
}
.idx-plant-item:hover{background:rgba(184,146,74,.12);padding-left:.4rem}
.idx-plant-num{
  font-family:'Cinzel',serif;font-size:.56rem;color:rgba(184,146,74,.55);
  min-width:20px;text-align:right;flex-shrink:0;
}
.idx-plant-name{
  font-family:'EB Garamond',serif;
  font-style:italic;font-size:.88rem;color:rgba(232,224,208,.92);flex:1;
}
.idx-plant-lote{
  font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:2px;
  color:rgba(138,96,16,.55);text-transform:uppercase;flex-shrink:0;
}
.idx-plant-props{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.7rem;color:rgba(58,30,0,.45);
  padding-left:1.8rem;margin-top:-.22rem;margin-bottom:.18rem;
  position:relative;z-index:1;
}
.idx-no-results{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.88rem;color:rgba(232,224,208,.3);text-align:center;margin-top:2rem;
  position:relative;z-index:1;
}
.idx-corner{
  position:absolute;bottom:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 0 26px 26px;
  border-color:transparent transparent #d4b87a transparent;
}
.idx-plant-wrap{display:none;flex-direction:column;gap:.5rem;position:relative;z-index:1}
.idx-plant-wrap.visible{display:flex}
/* ── JUGOS PANEL IZQUIERDO ── */
.idx-jugos-toggle{width:100%;text-align:left;background-color:rgba(255,255,255,.06);border:1px solid rgba(184,146,74,.5);color:rgba(232,224,208,.92);font-family:'EB Garamond',serif;font-style:italic;font-size:.85rem;padding:.38rem .7rem;cursor:pointer;border-radius:3px;display:flex;justify-content:space-between;align-items:center;transition:background .2s;position:relative;z-index:1}
.idx-jugos-toggle:hover{background:rgba(212,175,55,.12)}
.idx-jugos-list{list-style:none;padding:0;margin:.3rem 0 0;border:1px solid rgba(184,146,74,.35);border-radius:2px;overflow:hidden;max-height:200px;overflow-y:auto;position:relative;z-index:1}
.idx-jugos-item{padding:.38rem .7rem;cursor:pointer;border-bottom:1px solid rgba(212,175,55,.15);display:flex;flex-direction:column;gap:.15rem;transition:background .15s;background:#0d1810}
.idx-jugos-item:hover{background:rgba(184,146,74,.18)}
.idx-jugos-item:last-child{border-bottom:none}
.idx-jugos-item-nombre{font-family:'EB Garamond',serif;font-style:italic;font-size:.85rem;color:rgba(232,224,208,.92)}
.idx-jugos-item-tag{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:#d4af37}
#jugoView{display:flex;flex:1;overflow:hidden}
#jugoView.hidden{display:none}
#infusionView{display:flex;flex:1;overflow:hidden}
#infusionView.hidden{display:none}
.jugo-view-left{flex:1;background:#0d1810;position:relative;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(184,146,74,.4)}
.jugo-view-left-img{width:100%;height:55%;object-fit:cover;display:block}
.jugo-view-meta{padding:.9rem 1rem;flex:1}
.jugo-view-tag{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:3px;text-transform:uppercase;color:#b8924a;margin:0 0 .3rem}
.jugo-view-nombre{font-family:'EB Garamond',serif;font-style:italic;font-size:1.05rem;color:rgba(232,224,208,.92);line-height:1.4;margin:0 0 .5rem}
.jugo-view-ayuda{font-style:italic;font-size:.8rem;color:rgba(232,224,208,.75);line-height:1.6;margin:0}
.jugo-view-right{flex:1;background:#0d1810;overflow-y:auto;padding:1.2rem 1.3rem}
.jugo-view-sec{font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;color:#b8924a;margin:1rem 0 .3rem;border-bottom:1px solid rgba(184,146,74,.3);padding-bottom:.3rem}
.jugo-view-sec:first-child{margin-top:0}
.jugo-view-ing{list-style:none;padding:0;margin:0 0 .5rem}
.jugo-view-ing li{font-style:italic;font-size:.82rem;color:rgba(232,224,208,.82);padding:2px 0;padding-left:.9rem;position:relative}
.jugo-view-ing li::before{content:'✦';position:absolute;left:0;color:#b8924a;font-size:.5rem;top:.35rem}
.jugo-view-pasos{padding-left:1.2rem;margin:0}
.jugo-view-pasos li{font-style:italic;font-size:.82rem;color:rgba(232,224,208,.82);line-height:1.65;padding:3px 0;border-bottom:1px solid rgba(212,175,55,.08)}
.jugo-view-pasos li:last-child{border-bottom:none}
.nav-btn-idx{
  width:auto;padding:0 1rem;border-radius:3px;
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;
  background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.4);
  color:var(--dorado);cursor:pointer;
  display:none;align-items:center;justify-content:center;
  transition:all .3s;height:42px;
}
.nav-btn-idx:hover{background:rgba(212,175,55,.3)}
.nav-btn-idx.visible{display:flex}

/* ── MODAL REGISTRO ── */
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(10,25,10,.82);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.modal-overlay.visible{opacity:1;pointer-events:all}
.modal-box{
  width:480px;max-width:94vw;max-height:90vh;overflow-y:auto;
  background-color:#0d1810;
  background-image:
    radial-gradient(ellipse at 15% 85%, rgba(139,90,30,.13) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 15%, rgba(100,60,10,.09) 0%, transparent 45%);
  border:2px solid #b8924a;border-radius:4px;
  padding:1.8rem 2rem;
  position:relative;
}
.modal-box::before{
  content:'';position:absolute;inset:0;pointer-events:none;border-radius:4px;
  background:repeating-linear-gradient(transparent,transparent 27px,rgba(212,175,55,.05) 28px);
}
.modal-title{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:1.25rem;color:rgba(232,224,208,.92);text-align:center;
  border-bottom:2px solid #b8924a;padding-bottom:.6rem;margin-bottom:.3rem;
  position:relative;z-index:1;
}
.modal-ornament{text-align:center;color:#b8924a;font-size:.75rem;letter-spacing:4px;margin-bottom:1rem;position:relative;z-index:1}
.modal-subtitle{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.78rem;color:rgba(232,224,208,.5);text-align:center;margin-bottom:1.2rem;
  line-height:1.5;position:relative;z-index:1;
}
.modal-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem;position:relative;z-index:1}
.modal-label{
  font-family:'Cinzel',serif;font-size:.56rem;letter-spacing:3px;
  text-transform:uppercase;color:#d4af37;
}
.modal-input{
  background:rgba(255,255,255,.38);border:1px solid #b8924a;border-radius:3px;
  padding:.42rem .7rem;
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.88rem;color:rgba(232,224,208,.92);outline:none;width:100%;
}
.modal-input:focus{border-color:#d4af37;background:rgba(255,255,255,.55)}
.modal-input option{background:#0d1810;color:rgba(232,224,208,.9);font-style:normal}
.modal-error{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.72rem;color:#8b1a1a;margin-bottom:.6rem;display:none;
  position:relative;z-index:1;
}
.modal-btn{
  width:100%;padding:.55rem;margin-top:.3rem;
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;
  background:rgba(184,146,74,.25);border:1px solid #b8924a;border-radius:3px;
  color:rgba(232,224,208,.92);cursor:pointer;transition:background .2s;
  position:relative;z-index:1;
}
.modal-btn:hover{background:rgba(184,146,74,.45)}
.modal-switch{
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:.72rem;color:rgba(58,30,0,.5);text-align:center;margin-top:.7rem;
  position:relative;z-index:1;
}
.modal-switch a{color:#d4af37;cursor:pointer;border-bottom:1px solid rgba(138,96,16,.4)}
.modal-corner{
  position:absolute;bottom:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 0 22px 22px;
  border-color:transparent transparent #d4b87a transparent;
}

/* Indicador usuario en topbar */
.topbar-user{
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:1px;
  color:rgba(212,175,55,.7);display:flex;align-items:center;gap:.6rem;
}
.topbar-user-name{color:var(--dorado)}
.topbar-user-logout{
  font-size:.58rem;color:rgba(212,175,55,.45);cursor:pointer;
  border-bottom:1px solid rgba(212,175,55,.25);
}
.topbar-user-logout:hover{color:rgba(212,175,55,.8)}
.topbar-register{
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:2px;
  color:var(--dorado);border:1px solid rgba(212,175,55,.4);
  padding:.4rem 1rem;border-radius:3px;cursor:pointer;
  background:none;transition:all .3s;
}
.topbar-register:hover{background:rgba(212,175,55,.1)}

@media print {
  body { background: #fff !important; overflow: visible !important; }
  .topbar, .nav-bar, .cover, .btn-print { display: none !important; }
  .scene { background: #fff !important; height: auto !important; padding: 0 !important; display: block !important; }
  .book-container { width: 100% !important; height: auto !important; perspective: none !important; }
  .book { height: auto !important; transform: none !important; transform-style: flat !important; }
  .cover { display: none !important; }
  .pages { opacity: 1 !important; pointer-events: all !important; position: static !important; height: auto !important; border-radius: 0 !important; box-shadow: none !important; }
  .spine { display: none !important; }
  .page-left, .page-right { background: #fff !important; flex: none !important; width: 50% !important; float: left !important; }
  .page-left { border-right: 1px solid #ccc !important; }
  .herb-name-es { color: #2a1400 !important; border-bottom-color: #b8924a !important; }
  .herb-name-lat { color: #6a4010 !important; }
  .herb-section-title { color: #8a6010 !important; }
  .herb-props li, .herb-usos, .herb-extra-val { color: #1a0e00 !important; }
  .herb-nota { color: #3a1e00 !important; background: rgba(184,146,74,.08) !important; border-left-color: #b8924a !important; }
  .herb-props li::before { color: #b8924a !important; }
  .lote-badge, .herb-num { color: #8a6010 !important; }
  .herb-photo { border-color: #c8a060 !important; box-shadow: none !important; }
  .idx-title { color: #2a1400 !important; }
  .idx-field-label { color: #8a6010 !important; }
  .page-right::before { display: none !important; }

  /* ── Jugos e Infusiones al imprimir ── */
  #jugoView:not(.hidden), #infusionView:not(.hidden) { display: flex !important; }
  #jugoView.hidden, #infusionView.hidden { display: none !important; }
  .jugo-view-left { background: #fff !important; border-right: 1px solid #ccc !important; }
  .jugo-view-right { background: #fff !important; }
  .jugo-view-nombre { color: #2a1400 !important; }
  .jugo-view-tag { color: #8a6010 !important; }
  .jugo-view-ayuda { color: #5a3000 !important; }
  .jugo-view-sec { color: #8a6010 !important; border-bottom-color: #b8924a !important; }
  .jugo-view-ing li { color: #1a0e00 !important; }
  .jugo-view-ing li::before { color: #b8924a !important; }
  .jugo-view-pasos li { color: #1a0e00 !important; border-bottom-color: rgba(184,146,74,.2) !important; }
  .jugo-panel { background: #fff !important; border-color: #b8924a !important; }
  .jugo-panel-nombre { color: #2a1400 !important; }
  .jugo-panel-ayuda { color: #5a3000 !important; background: rgba(184,146,74,.06) !important; }
  .jugo-ing-title { color: #8a6010 !important; }
  .jugo-ing-list li { color: #1a0e00 !important; }
  .jugo-prep-list li { color: #1a0e00 !important; }
  .jugo-toggle-btn, .jugo-prep-btn { display: none !important; }
  .jugo-prep-list { display: block !important; }
}
