section{padding-top:20px}
.banner-pages{min-height:60vh;background-size:cover;background-position:-100px;margin-bottom:40px}
.banner-pages .sep{margin-bottom:20px}
.banner-pages p{width:90%;margin:0px auto}

.intro{text-align:center;padding:0 20px 40px 20px}
.intro h2{color:var(--gris);font-weight:normal;font-size:18px;letter-spacing:2px;margin-bottom:10px}
.intro p{color:var(--grisclaro);font-size:14px}

/* Grid de tarjetas */
.grid-dolencias{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:15px;
  padding:0 5%;
  margin-bottom:40px
}
.grid-dolencias .card{
  background:var(--grisbg);
  border:2px solid transparent;
  padding:25px 15px;
  text-align:center;
  cursor:pointer;
  transition:all .3s ease;
  position:relative
}
.grid-dolencias .card:hover{
  border-color:var(--gris)
}
.grid-dolencias .card.active{
  border-color:#333;
  background:white;
  box-shadow:0 4px 15px rgba(0,0,0,.1)
}
.grid-dolencias .card i{
  font-size:28px;
  color:var(--gris);
  margin-bottom:10px;
  display:block;
  transition:color .3s
}
.grid-dolencias .card.active i{
  color:#333
}
.grid-dolencias .card span{
  display:block;
  font-size:12px;
  font-weight:800;
  color:var(--gris);
  letter-spacing:1px;
  line-height:1.4
}
.grid-dolencias .card.active span{
  color:#333
}

/* Modal */
.modal-guia{
  display:none;
  position:fixed;
  z-index:110000;
  top:0;
  left:0;
  width:100%;
  height:100vh
}
.modal-guia.open{
  display:flex;
  justify-content:center;
  align-items:center
}
.modal-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.55)
}
.modal-content{
  position:relative;
  background:white;
  width:92%;
  max-height:85vh;
  overflow-y:auto;
  animation:modalIn .3s ease
}
@keyframes modalIn{
  from{opacity:0;transform:scale(.95)}
  to{opacity:1;transform:scale(1)}
}

/* Modal header */
.modal-header{
  display:flex;
  align-items:center;
  gap:15px;
  padding:20px;
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
  background:white;
  z-index:1
}
.modal-header .modal-icon{
  width:40px;
  height:40px;
  background:#333;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0
}
.modal-header .modal-icon i{
  color:white;
  font-size:18px
}
.modal-header h3{
  flex:1;
  font-size:14px;
  letter-spacing:2px;
  color:#333;
  margin:0
}
.modal-header button{
  background:none;
  border:none;
  font-size:22px;
  color:var(--gris);
  cursor:pointer;
  padding:5px 8px;
  transition:color .2s;
  flex-shrink:0
}
.modal-header button:hover{
  color:#333
}

/* Modal body - productos */
.modal-body{
  padding:20px;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:15px
}
.modal-body .producto-card{
  text-align:center;
  padding:15px 10px;
  border:1px solid #f0f0f0;
  transition:border-color .2s
}
.modal-body .producto-card:hover{
  border-color:var(--gris)
}
.modal-body .producto-card .paso{
  display:inline-block;
  background:var(--gris);
  color:white;
  font-size:11px;
  font-weight:800;
  padding:3px 10px;
  letter-spacing:1px;
  margin-bottom:10px
}
.modal-body .producto-card .paso.aroma{
  background:#c8ca2e
}
.modal-body .producto-card .img-prod{
  width:100%;
  height:120px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  margin-bottom:10px
}
.modal-body .producto-card strong{
  display:block;
  font-size:13px;
  color:#333;
  margin-bottom:5px;
  letter-spacing:1px
}
.modal-body .producto-card small{
  display:block;
  font-size:11px;
  color:var(--grisclaro);
  margin-bottom:10px
}
.modal-body .producto-card .btn-ver{
  display:inline-block;
  padding:8px 16px;
  background:var(--gris);
  color:white;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  transition:background .2s
}
.modal-body .producto-card .btn-ver:hover{
  background:#333
}

/* Modal footer */
.modal-footer{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  border-top:1px solid #eee;
  color:var(--grisclaro);
  font-size:11px
}
.modal-footer i{
  flex-shrink:0
}

/* Disclaimer */
.disclaimer{
  display:flex;
  align-items:start;
  gap:12px;
  padding:20px 5%;
  margin-bottom:40px;
  color:var(--grisclaro);
  font-size:12px;
  line-height:1.8
}
.disclaimer i{
  font-size:16px;
  margin-top:2px;
  flex-shrink:0
}

/* Desktop */
@media screen and (min-width:1024px){
  .banner-pages{min-height:80vh;margin-bottom:88px;background-position:center}
  .banner-pages p{width:50%}
  .intro h2{font-size:20px;letter-spacing:5px}
  .intro p{font-size:15px}
  .intro{margin-bottom:20px}
  .grid-dolencias{
    grid-template-columns:repeat(4, 1fr);
    width:80%;
    margin:0 auto 50px auto;
    gap:20px;
    padding:0
  }
  .grid-dolencias .card{padding:30px 20px}
  .grid-dolencias .card i{font-size:32px;margin-bottom:12px}
  .grid-dolencias .card span{font-size:13px}
  .modal-content{
    width:60%;
    max-height:80vh
  }
  .modal-header{padding:25px 30px}
  .modal-header .modal-icon{width:46px;height:46px}
  .modal-header .modal-icon i{font-size:20px}
  .modal-header h3{font-size:16px;letter-spacing:3px}
  .modal-body{
    padding:30px;
    grid-template-columns:repeat(3, 1fr);
    gap:25px
  }
  .modal-body .producto-card .img-prod{height:150px}
  .modal-body .producto-card .btn-ver:hover{background:#333}
  .modal-footer{padding:15px 30px}
  .disclaimer{
    width:60%;
    margin:0 auto 60px auto;
    padding:20px 0
  }
}
@media screen and (min-width:1600px){
  .grid-dolencias{width:70%}
  .modal-content{width:50%}
  .disclaimer{width:50%}
}
